Matrix3x2F-Klasse (d2d1helper.h)
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) |