Freigeben über


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.

Abbildung eines um 45 Grad im Uhrzeigersinn gedrehten Quadrats um die Mitte des ursprünglichen Quadrats
    // 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)

Weitere Informationen

D2D1_MATRIX_3X2_F

Übersicht über Transformationen