Share via


Funzioni matrice

Windows GDI+ espone un'API flat costituita da circa 600 funzioni, implementate in Gdiplus.dll e dichiarate in Gdiplusflat.h. Le funzioni nell'API flat GDI+ vengono incapsulate da una raccolta di circa 40 classi C++. È consigliabile non chiamare direttamente le funzioni nell'API flat. Ogni volta che si effettuano chiamate a GDI+, è consigliabile farlo chiamando i metodi e le funzioni forniti dai wrapper C++. Microsoft Product Support Services non fornirà supporto per il codice che chiama direttamente l'API flat. Per altre informazioni sull'uso di questi metodi wrapper, vedere GDI+ API flat.

Le funzioni API flat seguenti vengono incluse nella classe Matrix C++.

Funzioni matrice e metodi wrapper corrispondenti

Funzione flat Metodo Wrapper Descrizione
GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix **matrix)
Matrice::Matrice
Crea e inizializza un oggetto Matrix::Matrix che rappresenta la matrice di identità.
GpStatus WINGDIPAPI GdipCreateMatrix2(REAL m11, REAL m12, REAL m21, REAL m22, REAL m22, REAL dx, REAL dy, GpMatrix **matrix)
Matrice::Matrice Crea e inizializza un oggetto Matrix::Matrix basato su sei numeri che definiscono una trasformazione affine.
GpStatus WINGDIPAPI GdipCreateMatrix3(GDIPCONST GpRectF *rect, GDIPCONST GpPointF *dstplg, GpMatrix **matrix)
Matrice::Matrice Crea un oggetto Matrix::Matrix basato su un rettangolo e un punto.
GpStatus WINGDIPAPI GdipCreateMatrix3I(GDIPCONST GpRect *rect, GDIPCONST GpPoint *dstplg, GpMatrix **matrix)
Matrice::Matrice Crea un oggetto Matrix::Matrix basato su un rettangolo e un punto.
GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix *matrix, GpMatrix **cloneMatrix)
Matrix::Clone
Il metodo Matrix::Clone crea un nuovo oggetto Matrix che è una copia di questo oggetto Matrix .
GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix *matrix)
~Matrix()
Pulisce le risorse usate da un oggetto Matrix::Matrix .
GpStatus WINGDIPAPI GdipSetMatrixElements(GpMatrix *matrix, REAL m11, REAL m12, REAL m21, REAL m22, REAL m22, REAL dx, REAL dy)
Matrix::SetElements
Il metodo Matrix::SetElements imposta gli elementi di questa matrice.
GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix *matrix, GpMatrix* matrix2, GpMatrixOrder order)
Matrice::Moltiplica
Il metodo Matrix::Multipli aggiorna questa matrice con il prodotto stesso e un'altra matrice.
GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix *matrix, REAL offsetX, REAL offsetY, GpMatrixOrder order)
Matrix::Translate
Il metodo Matrix::Translate aggiorna questa matrice con il prodotto stesso e una matrice di traduzione.
GpStatus WINGDIPAPI GdipScaleMatrix(GpMatrix *matrix, REAL scaleX, REAL scaleY, GpMatrixOrder order)
Matrice::Scale
Il metodo Matrix::Scale aggiorna questa matrice con il prodotto stesso e una matrice di ridimensionamento.
GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix *matrix, REAL angle, GpMatrixOrder order)
Matrice::Ruota
Il metodo Matrix::Rotate aggiorna questa matrice con il prodotto stesso e una matrice di rotazione.
GpStatus WINGDIPAPI GdipShearMatrix(GpMatrix *matrix, REAL shearX, REAL shearY, GpMatrixOrder order)
Matrice::Shear
Il metodo Matrix::Shear aggiorna questa matrice con il prodotto stesso e una matrice di shearing.
GpStatus WINGDIPAPI GdipInvertMatrix(GpMatrix *matrix)
Matrice::Invert
Se questa matrice è invertibile, il metodo Matrix::Invert sostituisce gli elementi di questa matrice con gli elementi del relativo inverso.
GpStatus WINGDIPAPI GdipTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts, conteggio INT)
Matrix::TransformPoints
Il metodo Matrix::TransformPoints moltiplica ogni punto in una matrice in base a questa matrice. Ogni punto viene considerato come matrice di righe. La moltiplicazione viene eseguita con la matrice di riga a sinistra e questa matrice a destra.
GpStatus WINGDIPAPI GdipTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts, conteggio INT)
Matrix::TransformPoints
Il metodo Matrix::TransformPoints moltiplica ogni punto in una matrice in base a questa matrice. Ogni punto viene considerato come matrice di righe. La moltiplicazione viene eseguita con la matrice di riga a sinistra e questa matrice a destra.
GpStatus WINGDIPAPI GdipVectorTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts, conteggio INT)
Matrix::TransformVectors
Il metodo Matrix::TransformVectors moltiplica ogni vettore in una matrice in base a questa matrice. Gli elementi di traslazione di questa matrice (terza riga) vengono ignorati. Ogni vettore viene considerato come matrice di righe. La moltiplicazione viene eseguita con la matrice di riga a sinistra e questa matrice a destra.
GpStatus WINGDIPAPI GdipVectorTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts, conteggio INT)
Matrix::TransformVectors
Il metodo Matrix::TransformVectors moltiplica ogni vettore in una matrice in base a questa matrice. Gli elementi di traslazione di questa matrice (terza riga) vengono ignorati. Ogni vettore viene considerato come matrice di righe. La moltiplicazione viene eseguita con la matrice di riga a sinistra e questa matrice a destra.
GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix *matrix, REAL *matrixOut)
Matrice::GetElements
Il metodo Matrix::GetElements ottiene gli elementi di questa matrice. Gli elementi vengono inseriti in una matrice nell'ordine m11, m12, m21, m22, m31, m32, dove mij indica l'elemento in riga i, colonna j.
GpStatus WINGDIPAPI GdipIsMatrixInvertible(GDIPCONST GpMatrix *matrix, BOOL *result)
Matrice::IsInvertible
Il metodo Matrix::IsInvertible determina se questa matrice è invertibile.
GpStatus WINGDIPAPI GdipIsMatrixIdentity(GDIPCONST GpMatrix *matrix, BOOL *result)
Matrix::IsIdentity
Il metodo Matrix::IsIdentity determina se questa matrice è la matrice identity.
GpStatus WINGDIPAPI GdipIsMatrixEqual(GDIPCONST GpMatrix *matrix, GDIPCONST GpMatrix *matrix2, BOOL *result)
Matrix::Equals
Il metodo Matrix::Equals determina se gli elementi di questa matrice sono uguali agli elementi di un'altra matrice.