ID2D1Brush :: SetTransform, méthodes
Définit la transformation appliquée au pinceau.
Liste de surcharge
| Méthode | Description |
|---|---|
| SetTransform (D2D1 _ Matrix _ matrice _ F&) | Définit la transformation appliquée au pinceau. |
| SetTransform (D2D1 _ Matrix _ matrice _ F * ) | Définit la transformation appliquée au pinceau. |
Notes
Quand vous peignez avec un pinceau, il peint l’espace de coordonnées de la cible de rendu. Les pinceaux ne se positionnent pas automatiquement pour s’aligner avec l’objet qui est peint ; par défaut, ils commencent à peindre à l’origine (0,0) de la cible de rendu.
Vous pouvez « déplacer » le dégradé défini par un ID2D1LinearGradientBrush vers une zone cible en définissant son point de départ et son point de terminaison. De même, vous pouvez déplacer le dégradé défini par un ID2D1RadialGradientBrush en modifiant son centre et ses rayons.
Pour aligner le contenu d’un ID2D1BitmapBrush sur la zone qui est peinte, vous pouvez utiliser la méthode setTransform pour convertir l’image bitmap à l’emplacement souhaité. Cette transformation affecte uniquement le pinceau ; elle n’affecte pas les autres contenus dessinés par la cible de rendu.
Les illustrations suivantes montrent l’effet de l’utilisation d’un ID2D1BitmapBrush pour remplir un rectangle situé à l’emplacement (100, 100). L’illustration de l’illustration de gauche montre le résultat du remplissage du rectangle sans transformer le pinceau : le bitmap est dessiné à l’origine de la cible de rendu. Par conséquent, seule une partie de la bitmap apparaît dans le rectangle.
L’illustration à droite montre le résultat de la transformation du ID2D1BitmapBrush afin que son contenu soit décalé de 50 pixels vers la droite et de 50 pixels vers le dessous. Le bitmap remplit maintenant le rectangle.

Exemples
Les exemples de code suivants montrent comment créer la transformation affichée dans le diagramme de droite de l’illustration précédente. Tout d’abord, appliquez une translation à la ID2D1BitmapBrush, en déplaçant le pinceau 50 pixels vers la droite le long de l’axe x et 50 pixels vers le côté de l’axe y. Utilisez ensuite le ID2D1BitmapBrush pour remplir le rectangle qui a l’angle supérieur gauche à (100, 100) et le coin inférieur droit à (200, 200).
// Create the bitmap to be used by the bitmap brush.
if (SUCCEEDED(hr))
{
hr = LoadResourceBitmap(
m_pRenderTarget,
m_pWICFactory,
L"FERN",
L"Image",
&m_pBitmap
);
}
if (SUCCEEDED(hr))
{
hr = m_pRenderTarget->CreateBitmapBrush(
m_pBitmap,
&m_pBitmapBrush
);
}
D2D1_RECT_F rcTransformedBrushRect = D2D1::RectF(100, 100, 200, 200);
// Demonstrate the effect of transforming a bitmap brush.
m_pBitmapBrush->SetTransform(
D2D1::Matrix3x2F::Translation(D2D1::SizeF(50,50))
);
// To see the content of the rcTransformedBrushRect, comment
// out this statement.
m_pRenderTarget->FillRectangle(
&rcTransformedBrushRect,
m_pBitmapBrush
);
m_pRenderTarget->DrawRectangle(rcTransformedBrushRect, m_pBlackBrush, 1, NULL);
Spécifications
| Condition requise | Valeur |
|---|---|
| En-tête |
|
| Bibliothèque |
|
| DLL |
|
Voir aussi
�
�