I. ¿Cuál es el nombre de la nueva API de Windows 7, que permite a las aplicaciones como IE9 aprovechar la aceleración de hardware?
Direct2D es un API para la creación de gráficos 2D. Sobre la base de Direct3D 10, que proporciona a los desarrolladores Win32 independiente de la resolución de la API, y usa el poder de gráficos de próxima generación de tarjetas. Usted puede, con Direct2D, mejorar su actual aplicaciones GDI, sin tener que reescribir. De hecho Direct2D fue diseñado para trabajar con el Gobierno de la India y las tecnologías de gráficos. Por último, Direct2D le permite escribir el contenido en una superficie Direct2D GDI.
Ejemplo para dibujar un rectángulo con Direct2D
int
DessinerUnRectangle
()
{
HRESULT hr ;
CComPtr <
ID2D1Factory >
fabriqueD2D1 ;
h =
D2D1CreateFactory (D2D1_FACTORY_TYPE_SINGLE_THREADED ,
y
fabriqueD2D1) ,
si
( ERROR
(h)) devolver
-
1
;
CComPtr <
ID2D1HwndRenderTarget >
contexteRenduD2D1 ;
/ /
Obtener
la
zona de
cliente
RECT rc ;
GetClientRect
(_hwndParent ,
y
rc) ;
tamaño D2D1_SIZE_U =
D2D1 :
:
SizeU
((rc .
derecha -
rc .
izquierda) ,
(rc .
fondo -
rc .
arriba)) ;
/ /
Crear
el
marco
de
la prestación
D2D1_RENDER_TARGET_PROPERTIES proprietesRendu =
D2D1 :
:
RenderTargetProperties
() ;
D2D1_HWND_RENDER_TARGET_PROPERTIES proprietesHwndRendu =
D2D1 :
:
HwndRenderTargetProperties (_hwndParent ,
tamaño) ;
h =
fabriqueD2D1 -
>
CreateHwndRenderTarget (proprietesRendu ,
proprietesHwndRendu ,
y
contexteRenduD2D1) ,
si
( ERROR
(h)) devolver
-
1
;
/ /
Creación
de
la
Pincel
Verde
CComPtr <
ID2D1SolidColorBrush >
brosseVerte ;
h =
contexteRenduD2D1 -
>
CreateSolidColorBrush (D2D1 :
:
ColorF
(D2D1 :
:
ColorF :
:
Verde) ,
y
brosseVerte) ,
si
( ERROR
(h)) devolver
-
1
;
/ /
Creación
de
la
brocha
de Orange
CComPtr <
ID2D1SolidColorBrush >
brosseOrange ;
h =
contexteRenduD2D1 -
>
CreateSolidColorBrush (D2D1 :
:
ColorF
(D2D1 :
:
ColorF :
:
Naranja) ,
y
brosseOrange) ,
si
( ERROR
(h)) devolver
-
1
;
contexteRenduD2D1 -
>
BeginDraw () ;
rectangleVert D2D1_RECT_F =
D2D1 :
:
RectF
(tamaño .
anchura /
4
-
50
.
0F
,
tamaño .
altura /
2
-
50
.
0F
,
tamaño .
anchura /
2
+
50
.
0F
,
tamaño .
altura /
2
+
50
.
0F
) ;
contexteRenduD2D1 -
>
FillRectangle (rectangleVert ,
brosseVerte) ;
rectangleOrange D2D1_RECT_F =
D2D1 :
:
RectF
(tamaño .
anchura /
4
-
100
.
0F
,
tamaño .
altura /
2
-
100
.
0F
,
tamaño .
anchura /
2
+
100
.
0F
,
tamaño .
altura /
2
+
100
.
0F
) ;
contexteRenduD2D1 -
>
DrawRectangle (rectangleOrange ,
brosseOrange) ;
contexteRenduD2D1 -
>
EndDraw () ;
retorno
0
;
}
Para más información:
- El entrenador de Windows 7: http://msdn.microsoft.com/fr-fr/windows/msdn.coach.windows7
- Kit de desarrollo para Windows 7: http://msdn.microsoft.com/fr-fr/windows/gg398052.aspx
No hay comentarios:
Publicar un comentario