Funções de matriz
O Windows GDI+ expõe uma API simples que consiste em cerca de 600 funções, que são implementadas em Gdiplus.dll e declaradas em Gdiplusflat.h. As funções na API plana GDI+ são encapsuladas por uma coleção de cerca de 40 classes C++. É recomendável que você não chame diretamente as funções na API simples. Sempre que fizer chamadas para GDI+, você deverá fazer isso chamando os métodos e funções fornecidos pelos wrappers C++. Os Serviços de Suporte ao Produto da Microsoft não fornecerão suporte para o código que chama a API simples diretamente. Para obter mais informações sobre como usar esses métodos wrapper, consulte API Simples GDI+.
As seguintes funções de API simples são encapsuladas pela classe Matrix C++.
Funções de matriz e métodos wrapper correspondentes
Função simples | Método Wrapper | Descrição |
---|---|---|
GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix **matrix) |
Matriz::Matriz |
Cria e inicializa um objeto Matrix::Matrix que representa a matriz de identidade. |
GpStatus WINGDIPAPI GdipCreateMatrix2(REAL m11, REAL m12, REAL m21, REAL m22, REAL dx, REAL dy, GpMatrix **matrix) |
Matriz::Matriz | Cria e inicializa um objeto Matrix::Matrix com base em seis números que definem uma transformação affine. |
GpStatus WINGDIPAPI GdipCreateMatrix3(GDIPCONST GpRectF *rect, GDIPCONST GpPointF *dstplg, GpMatrix **matrix) |
Matriz::Matriz | Cria um objeto Matrix::Matrix com base em um retângulo e um ponto. |
GpStatus WINGDIPAPI GdipCreateMatrix3I(GDIPCONST GpRect *rect, GDIPCONST GpPoint *dstplg, GpMatrix **matrix) |
Matriz::Matriz | Cria um objeto Matrix::Matrix com base em um retângulo e um ponto. |
GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix *matrix, GpMatrix **cloneMatrix) |
Matrix::Clone |
O método Matrix::Clone cria um novo objeto Matrix que é uma cópia desse objeto Matrix . |
GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix *matrix) |
~Matrix() |
Limpa os recursos usados por um objeto Matrix::Matrix . |
GpStatus WINGDIPAPI GdipSetMatrixElements(GpMatrix *matrix, REAL m11, REAL m12, REAL m21, REAL m22, REAL dx, REAL dy) |
Matrix::SetElements |
O método Matrix::SetElements define os elementos dessa matriz. |
GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix *matrix, GpMatrix* matrix2, ordem GpMatrixOrder) |
Matriz::Multiplicar |
O método Matrix::Multiply atualiza essa matriz com o produto de si mesmo e outra matriz. |
GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix *matrix, REAL offsetX, REAL offsetY, gpMatrixOrder order) |
Matriz::Traduzir |
O método Matrix::Translate atualiza essa matriz com o produto de si mesmo e uma matriz de tradução. |
GpStatus WINGDIPAPI GdipScaleMatrix(GpMatrix *matrix, REAL scaleX, REAL scaleY, gpMatrixOrder order) |
Matriz::Escala |
O método Matrix::Scale atualiza essa matriz com o produto de si mesmo e uma matriz de dimensionamento. |
GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix *matrix, ÂNGULO REAL, ordem GpMatrixOrder) |
Matriz::Girar |
O método Matrix::Rotate atualiza essa matriz com o produto de si mesmo e uma matriz de rotação. |
GpStatus WINGDIPAPI GdipShearMatrix(GpMatrix *matrix, REAL shearX, REAL shearY, GpMatrixOrder order) |
Matriz::Shear |
O método Matrix::Shear atualiza essa matriz com o produto de si mesmo e uma matriz de tesoura. |
GpStatus WINGDIPAPI GdipInvertMatrix(GpMatrix *matrix) |
Matrix::Invert |
Se essa matriz for inverterível, o método Matrix::Invert substituirá os elementos dessa matriz pelos elementos de seu inverso. |
GpStatus WINGDIPAPI GdipTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts, INT count) |
Matrix::TransformPoints |
O método Matrix::TransformPoints multiplica cada ponto em uma matriz por essa matriz. Cada ponto é tratado como uma matriz de linhas. A multiplicação é executada com a matriz de linha à esquerda e essa matriz à direita. |
GpStatus WINGDIPAPI GdipTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts, INT count) |
Matrix::TransformPoints |
O método Matrix::TransformPoints multiplica cada ponto em uma matriz por essa matriz. Cada ponto é tratado como uma matriz de linhas. A multiplicação é executada com a matriz de linha à esquerda e essa matriz à direita. |
GpStatus WINGDIPAPI GdipVectorTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts, INT count) |
Matrix::TransformVectors |
O método Matrix::TransformVectors multiplica cada vetor em uma matriz por essa matriz. Os elementos de translação da matriz (terceira linha) são ignorados. Cada vetor é tratado como uma matriz de linhas. A multiplicação é executada com a matriz de linha à esquerda e essa matriz à direita. |
GpStatus WINGDIPAPI GdipVectorTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts, INT count) |
Matrix::TransformVectors |
O método Matrix::TransformVectors multiplica cada vetor em uma matriz por essa matriz. Os elementos de translação da matriz (terceira linha) são ignorados. Cada vetor é tratado como uma matriz de linhas. A multiplicação é executada com a matriz de linha à esquerda e essa matriz à direita. |
GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix *matrix, REAL *matrixOut) |
Matrix::GetElements |
O método Matrix::GetElements obtém os elementos dessa matriz. Os elementos são colocados em uma matriz na ordem m11, m12, m21, m22, m31, m32, em que mij denota o elemento na linha i, coluna j. |
GpStatus WINGDIPAPI GdipIsMatrixInvertible(GDIPCONST GpMatrix *matrix, BOOL *result) |
Matrix::IsInvertible |
O método Matrix::IsInvertible determina se essa matriz é inverterável. |
GpStatus WINGDIPAPI GdipIsMatrixIdentity(GDIPCONST GpMatrix *matrix, BOOL *result) |
Matrix::IsIdentity |
O método Matrix::IsIdentity determina se essa matriz é a matriz de identidade. |
GpStatus WINGDIPAPI GdipIsMatrixEqual(GDIPCONST GpMatrix *matrix, GDIPCONST GpMatrix *matrix2, BOOL *result) |
Matrix::Equals |
O método Matrix::Equals determina se os elementos dessa matriz são iguais aos elementos de outra matriz. |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de