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.
Die Matrix3x2F-Klasse stellt eine 3-mal-2-Matrix dar und bietet Komfortmethoden zum Erstellen von Matrizen.
Vererbung
Die Matrix3x2F-Klasse erbt von D2D1_MATRIX_3X2_F.
Methoden
Die Matrix3x2F-Klasse verfügt über diese Methoden.
Matrix3x2F::D eterminant Berechnet die Determinante der Matrix. (Matrix3x2F.Determinant) |
Matrix3x2F::Identität Erstellt eine Identitätsmatrix. (Matrix3x2F.Identity) |
Matrix3x2F::Invertieren Invertiert die Matrix, wenn sie invertierbar ist. |
Matrix3x2F::IsIdentity Gibt an, ob diese Matrix die Identitätsmatrix ist. (Matrix3x2F.IsIdentity) |
Matrix3x2F::IsInvertible Gibt an, ob die Matrix invertierbar ist. |
Matrix3x2F::Matrix3x2F Instanziiert eine neue instance der Matrix3x2F-Klasse, die die angegebenen Werte enthält. |
Matrix3x2F::Matrix3x2F Instanziiert eine neue instance der Matrix3x2F-Klasse, ohne die Matrixwerte zu initialisieren. |
Matrix3x2F::operator* Die Matrix3x2F::operator-mult -Methode (d2d1helper.h) multipliziert diese Matrix mit der angegebenen Matrix und gibt das Ergebnis zurück. |
Matrix3x2F::ReinterpretBaseType Konvertiert die angegebene D2D1_MATRIX_3X2_F Matrix in eine Matrix3x2F, ohne eine Kopie zu erstellen. (Überladung 1/2) |
Matrix3x2F::ReinterpretBaseType Konvertiert die angegebene D2D1_MATRIX_3X2_F Matrix in eine Matrix3x2F, ohne eine Kopie zu erstellen. (Überladung 2/2) |
Matrix3x2F::Rotation Erstellt eine Drehtransformation mit dem angegebenen Winkel und Mittelpunkt. |
Matrix3x2F::Scale Erstellt eine Skalierungstransformation mit den angegebenen Skalierungsfaktoren und dem angegebenen Mittelpunkt. (Überladung 2/2) |
Matrix3x2F::Scale Erstellt eine Skalierungstransformation mit den angegebenen Skalierungsfaktoren und dem angegebenen Mittelpunkt. (Überladung 1/2) |
Matrix3x2F::SetProduct Multipliziert die beiden Matrizen und speichert das Ergebnis in dieser Matrix. (Matrix3x2F.SetProduct) |
Matrix3x2F::Skew Erstellt eine Neigungstransformation mit den angegebenen Werten für die x- und y-Achse und den angegebenen Mittelpunkt. |
Matrix3x2F::TransformPoint Verwendet diese Matrix, um den angegebenen Punkt zu transformieren und das Ergebnis zurückgibt. |
Matrix3x2F::Translation Erstellt eine Übersetzungstransformation mit den angegebenen x- und y-Verschiebungen. (Überladung 1/2) |
Matrix3x2F::Translation Erstellt eine Übersetzungstransformation mit den angegebenen x- und y-Verschiebungen. (Überladung 2/2) |
Hinweise
Die Matrix3x2F-Klasse bietet viele statische Methoden zum Erstellen von Transformationsmatrizen. Die folgende Tabelle enthält häufig verwendete Methoden und die ihnen zugeordneten Vorgehensweisen.
Methode | Vorgehensweise |
---|---|
Neigen | Gewusst wie: Verschieben eines Objekts |
Drehung | Drehen eines Objekts |
Skalieren | Skalieren eines Objekts |
Übersetzung | Übersetzen eines Objekts |
Transformationen können auf Objekte oder auf eine gesamte Zeichnungsoberfläche angewendet werden. Um Transformationen auf eine gesamte Zeichnungsoberfläche anzuwenden, rufen Sie die ID2D1RenderTarget::SetTransform-Methode auf. Rufen Sie für einzelne Objekte, z. B. Pinsel oder Geometrien, die ID2D1Brush::SetTransform-Methode oder die ID2D1Geometry-Methoden auf .
Beispiele
Im folgenden Beispiel wird die D2D1::Matrix3x2F::Rotation-Methode verwendet, um eine Rotationsmatrix zu erstellen, die ein Quadrat im Uhrzeigersinn um 45 Grad um die Mitte des Quadrats dreht und die Matrix an die SetTransform-Methode des Renderziels (m_pRenderTarget) übergibt.
Die folgende Abbildung zeigt den Effekt des Anwendens der vorherigen Drehungstransformation auf das Quadrat. Das ursprüngliche Quadrat ist ein gepunkteter Umriss, und das gedrehte Quadrat ist ein durchgezogener Umriss.

// Create a rectangle.
D2D1_RECT_F rectangle = D2D1::Rect(438.0f, 301.5f, 498.0f, 361.5f);
// Draw the rectangle.
m_pRenderTarget->DrawRectangle(
rectangle,
m_pOriginalShapeBrush,
1.0f,
m_pStrokeStyleDash
);
// Apply the rotation transform to the render target.
m_pRenderTarget->SetTransform(
D2D1::Matrix3x2F::Rotation(
45.0f,
D2D1::Point2F(468.0f, 331.5f))
);
// Fill the rectangle.
m_pRenderTarget->FillRectangle(rectangle, m_pFillBrush);
// Draw the transformed rectangle.
m_pRenderTarget->DrawRectangle(rectangle, m_pTransformedShapeBrush);
Code wurde aus diesem Beispiel weggelassen. Weitere Informationen zu Transformationen finden Sie in der Übersicht über Transformationen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | d2d1helper.h (einschließlich D2d1helper.h) |