Freigeben über


Matrixfunktionen

Windows GDI+ macht eine flache API verfügbar, die aus ca. 600 Funktionen besteht, die in Gdiplus.dll implementiert und in Gdiplusflat.h deklariert sind. Die Funktionen in der GDI+-Flach-API werden durch eine Auflistung von ca. 40 C++-Klassen umschlossen. Es wird empfohlen, die Funktionen in der flachen API nicht direkt aufzurufen. Wenn Sie Aufrufe an GDI+ tätigen, sollten Sie dies tun, indem Sie die Methoden und Funktionen aufrufen, die von den C++-Wrappern bereitgestellt werden. Microsoft-Produktsupportdienste bieten keine Unterstützung für Code, der die flache API direkt aufruft. Weitere Informationen zur Verwendung dieser Wrappermethoden finden Sie unter GDI+ Flat API.

Die folgenden flachen API-Funktionen werden von der Matrix C++-Klasse umschlossen.

Matrixfunktionen und entsprechende Wrappermethoden

Flache Funktion Wrapper-Methode Beschreibung
GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix **matrix)
Matrix::Matrix-
Erstellt und initialisiert ein Matrix::Matrix -Objekt, das die Identitätsmatrix darstellt.
GpStatus WINGDIPAPI GdipCreateMatrix2(REAL m11, REAL m12, REAL m21, REAL m22, REAL dx, REAL dy, GpMatrix **matrix)
Matrix::Matrix- Erstellt und initialisiert ein Matrix::Matrix -Objekt basierend auf sechs Zahlen, die eine affine Transformation definieren.
GpStatus WINGDIPAPI GdipCreateMatrix3(GDIPCONST GpRectF *rect, GDIPCONST GpPointF *dstplg, GpMatrix **matrix)
Matrix::Matrix- Erstellt ein Matrix::Matrix Objekt basierend auf einem Rechteck und einem Punkt.
GpStatus WINGDIPAPI GdipCreateMatrix3I(GDIPCONST GpRect *rect, GDIPCONST GpPoint *dstplg, GpMatrix **matrix)
Matrix::Matrix- Erstellt ein Matrix::Matrix Objekt basierend auf einem Rechteck und einem Punkt.
GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix *matrix, GpMatrix **cloneMatrix)
Matrix::Clone
Die Matrix::Clone-Methode erstellt ein neues Matrix--Objekt, das eine Kopie dieses Matrix--Objekts ist.
GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix *matrix)
~Matrix()
Bereinigt Ressourcen, die von einem Matrix::Matrix -Objekt verwendet werden.
GpStatus WINGDIPAPI GdipSetMatrixElements(GpMatrix *matrix, REAL m11, REAL m12, REAL m21, REAL m22, REAL dx, REAL dy)
Matrix::SetElements
Die Matrix::SetElements--Methode legt die Elemente dieser Matrix fest.
GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix *matrix, GpMatrix* matrix2, GpMatrixOrder order)
Matrix::Multiplizieren
Die Matrix::Multiplizieren Methode aktualisiert diese Matrix mit dem Produkt selbst und einer anderen Matrix.
GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix *matrix, REAL offsetX, REAL offsetY, GpMatrixOrder order)
Matrix::Translate
Die Matrix::Translate Methode aktualisiert diese Matrix mit dem Produkt selbst und einer Übersetzungsmatrix.
GpStatus WINGDIPAPI GdipScaleMatrix(GpMatrix *matrix, REAL scaleX, REAL scaleY, GpMatrixOrder order)
Matrix::Scale
Die Matrix::Scale Methode aktualisiert diese Matrix mit dem Produkt selbst und einer Skalierungsmatrix.
GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix *matrix, REAL angle, GpMatrixOrder order)
Matrix::Drehen
Die Matrix::Rotate Methode aktualisiert diese Matrix mit dem Produkt selbst und einer Drehungsmatrix.
GpStatus WINGDIPAPI GdipShearMatrix(GpMatrix *matrix, REAL shearX, REAL shearY, GpMatrixOrder order)
Matrix::Shear
Die Matrix::Shear Methode aktualisiert diese Matrix mit dem Produkt selbst und einer Schermatrix.
GpStatus WINGDIPAPI GdipInvertMatrix(GpMatrix *matrix)
Matrix::Invertieren
Wenn diese Matrix unvertierbar ist, ersetzt die Matrix::Invert-Methode die Elemente dieser Matrix durch die Elemente ihrer Umkehrung.
GpStatus WINGDIPAPI GdipTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts, INT count)
Matrix::TransformPoints
Die Matrix::TransformPoints Methode multipliziert jeden Punkt in einem Array mit dieser Matrix. Jeder Punkt wird als Zeilenmatrix behandelt. Die Multiplikation wird mit der Zeilenmatrix auf der linken Seite und dieser Matrix auf der rechten Seite ausgeführt.
GpStatus WINGDIPAPI GdipTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts, INT count)
Matrix::TransformPoints
Die Matrix::TransformPoints Methode multipliziert jeden Punkt in einem Array mit dieser Matrix. Jeder Punkt wird als Zeilenmatrix behandelt. Die Multiplikation wird mit der Zeilenmatrix auf der linken Seite und dieser Matrix auf der rechten Seite ausgeführt.
GpStatus WINGDIPAPI GdipVectorTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts, INT count)
Matrix::TransformVectors
Die Matrix::TransformVectors Methode multipliziert jeden Vektor in einem Array mit dieser Matrix. Die Übersetzungselemente dieser Matrix (dritte Zeile) werden ignoriert. Jeder Vektor wird als Zeilenmatrix behandelt. Die Multiplikation wird mit der Zeilenmatrix auf der linken Seite und dieser Matrix auf der rechten Seite ausgeführt.
GpStatus WINGDIPAPI GdipVectorTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts, INT count)
Matrix::TransformVectors
Die Matrix::TransformVectors Methode multipliziert jeden Vektor in einem Array mit dieser Matrix. Die Übersetzungselemente dieser Matrix (dritte Zeile) werden ignoriert. Jeder Vektor wird als Zeilenmatrix behandelt. Die Multiplikation wird mit der Zeilenmatrix auf der linken Seite und dieser Matrix auf der rechten Seite ausgeführt.
GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix *matrix, REAL *matrixOut)
Matrix::GetElements
Die Matrix::GetElements Methode ruft die Elemente dieser Matrix ab. Die Elemente werden in einer Matrix in der Reihenfolge m11, m12, m21, m22, m31, m32 platziert, wobei mij das Element in Zeile i, Spalte j angibt.
GpStatus WINGDIPAPI GdipIsMatrixInvertible(GDIPCONST GpMatrix *matrix, BOOL *result)
Matrix::IsInvertible
Die Matrix::IsInvertible-Methode bestimmt, ob diese Matrix invertierbar ist.
GpStatus WINGDIPAPI GdipIsMatrixIdentity(GDIPCONST GpMatrix *matrix, BOOL *result)
Matrix::IsIdentity
Die Matrix::IsIdentity Methode bestimmt, ob diese Matrix die Identitätsmatrix ist.
GpStatus WINGDIPAPI GdipIsMatrixEqual(GDIPCONST GpMatrix *matrix, GDIPCONST GpMatrix *matrix2, BOOL *result)
Matrix::Entspricht
Die Matrix::Equals-Methode bestimmt, ob die Elemente dieser Matrix den Elementen einer anderen Matrix entsprechen.