Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Legt die auf den Pinsel angewendete Transformation fest.
Überladungsliste
| Method | Description |
|---|---|
| SetTransform(D2D1_MATRIX_3X2_F&) | Legt die auf den Pinsel angewendete Transformation fest. |
| SetTransform(D2D1_MATRIX_3X2_F*) | Legt die auf den Pinsel angewendete Transformation fest. |
Hinweise
Wenn Sie mit einem Pinsel zeichnen, zeichnet es sich im Koordinatenbereich des Renderziels. Pinsel positionieren sich nicht automatisch, um das zu bemalte Objekt auszurichten; Standardmäßig beginnen sie mit dem Zeichnen am Ursprung (0, 0) des Renderziels.
Sie können den durch einen ID2D1LinearGradientBrush definierten Farbverlauf in einen Zielbereich verschieben, indem Sie den Startpunkt und den Endpunkt festlegen. Ebenso können Sie den durch einen ID2D1RadialGradientBrush definierten Farbverlauf verschieben, indem Sie seine Mitte und Radien ändern.
Zum Ausrichten des Inhalts eines ID2D1BitmapBrush-Objekts an dem zu bemalten Bereich können Sie die SetTransform-Methode verwenden, um die Bitmap an die gewünschte Position zu übersetzen. Diese Transformation wirkt sich nur auf den Pinsel aus. sie wirkt sich nicht auf andere Inhalte aus, die vom Renderziel gezeichnet werden.
Die folgenden Abbildungen zeigen den Effekt der Verwendung eines ID2D1BitmapBrush zum Ausfüllen eines Rechtecks, das sich befindet (100, 100). Die Abbildung auf der linken Abbildung zeigt das Ergebnis des Ausfüllens des Rechtecks ohne Transformation des Pinsels: Die Bitmap wird am Ursprung des Renderziels gezeichnet. Daher wird nur ein Teil der Bitmap im Rechteck angezeigt.
Die Abbildung auf der rechten Seite zeigt das Ergebnis der Transformation des ID2D1BitmapBrush , sodass der Inhalt um 50 Pixel nach rechts und 50 Pixel nach unten verschoben wird. Die Bitmap füllt nun das Rechteck aus.
Beispiele
Die folgenden Codebeispiele zeigen, wie die im rechten Diagramm in der vorherigen Abbildung gezeigte Transformation erstellt wird. Wenden Sie zuerst eine Übersetzung auf den ID2D1BitmapBrush an, und bewegen Sie den Pinsel um 50 Pixel entlang der X-Achse und 50 Pixel entlang der Y-Achse nach unten. Verwenden Sie dann den ID2D1BitmapBrush , um das Rechteck mit der oberen linken Ecke (100, 100) und der unteren rechten Ecke in (200, 200) zu füllen.
// 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);
Requirements
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|
| DLL |
|