Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique explique comment dessiner une forme de base. L’interface ID2D1RenderTarget fournit des méthodes pour dessiner et remplir des ellipses, des rectangles et des lignes. Les exemples suivants montrent comment créer et dessiner un ellipse.
Cette rubrique contient les sections suivantes :
- Dessiner le contour d’un Ellipse avec un trait solide
- Dessiner un Ellipse avec un trait pointillé
- Dessiner et remplir un Ellipse
- Dessin de formes plus complexes
- rubriques connexes
Dessiner le contour d’un Ellipse avec un trait solide
Pour dessiner le contour d’un ellipse, vous définissez un pinceau (par exemple , ID2D1SolidColorBrush ou ID2D1LinearGradientBrush) pour peindre le contour et un D2D1_ELLIPSE pour décrire la position et les dimensions de l’ellipse, puis passez ces objets à la méthode ID2D1RenderTarget ::D rawEllipse . L’exemple suivant crée un pinceau noir à couleur unie et le stocke dans le membre de classe m_spBlackBrush.
hr = m_pRenderTarget->CreateSolidColorBrush(
D2D1::ColorF(D2D1::ColorF::Black),
&m_pBlackBrush
);
L’exemple suivant définit une D2D1_ELLIPSE et l’utilise avec le pinceau défini dans l’exemple précédent pour dessiner le contour d’un ellipse. Cet exemple génère la sortie illustrée dans l’illustration suivante.
D2D1_ELLIPSE ellipse = D2D1::Ellipse(
D2D1::Point2F(100.f, 100.f),
75.f,
50.f
);
m_pRenderTarget->DrawEllipse(ellipse, m_pBlackBrush, 10.f);
Dessiner une ellipse avec un trait pointillé
L’exemple précédent utilisait un trait simple. Vous pouvez modifier l’aspect d’un trait de différentes manières en créant un ID2D1StrokeStyle. L’ID2D1StrokeStyle vous permet de spécifier la forme au début et à la fin d’un trait, qu’elle ait un motif de tiret, et ainsi de suite. L’exemple suivant crée un ID2D1StrokeStyle qui décrit un trait en pointillés. Cet exemple utilise un modèle de tiret prédéfini, D2D1_DASH_STYLE_DASH_DOT_DOT, mais vous pouvez également spécifier votre propre modèle.
D2D1_STROKE_STYLE_PROPERTIES strokeStyleProperties = D2D1::StrokeStyleProperties(
D2D1_CAP_STYLE_FLAT, // The start cap.
D2D1_CAP_STYLE_FLAT, // The end cap.
D2D1_CAP_STYLE_TRIANGLE, // The dash cap.
D2D1_LINE_JOIN_MITER, // The line join.
10.0f, // The miter limit.
D2D1_DASH_STYLE_DASH_DOT_DOT, // The dash style.
0.0f // The dash offset.
);
hr = m_pDirect2dFactory->CreateStrokeStyle(strokeStyleProperties, NULL, 0, &m_pStrokeStyle);
L’exemple suivant utilise le style de trait avec la méthode DrawEllipse. Cet exemple génère la sortie illustrée dans l’illustration suivante.
m_pRenderTarget->DrawEllipse(ellipse, m_pBlackBrush, 10.f, m_pStrokeStyle);
Dessiner et remplir un Ellipse
Pour peindre l’intérieur d’un ellipse, vous utilisez la méthode FillEllipse . L’exemple suivant utilise la méthode DrawEllipse pour décrire l’ellipse, puis utilise la méthode FillEllipse pour peindre son intérieur. Cet exemple génère la sortie illustrée dans l’illustration suivante.
m_pRenderTarget->DrawEllipse(ellipse, m_pBlackBrush, 10.f, m_pStrokeStyle);
m_pRenderTarget->FillEllipse(ellipse, m_pSilverBrush);
L’exemple suivant remplit d’abord l’ellipse, puis dessine son contour. Cet exemple génère la sortie illustrée dans l’illustration suivante.
m_pRenderTarget->FillEllipse(ellipse, m_pSilverBrush);
m_pRenderTarget->DrawEllipse(ellipse, m_pBlackBrush, 10.f, m_pStrokeStyle);
Le code a été omis de ces exemples.
Dessin de formes plus complexes
Pour dessiner des formes plus complexes, vous définissez des objets ID2D1Geometry et les utilisez avec les méthodes DrawGeometry et FillGeometry . Pour plus d’informations, consultez la vue d’ensemble des géométries.
Rubriques connexes