Método TextureBrush::RotateTransform (gdiplusbrush.h)
O método TextureBrush::RotateTransform atualiza a matriz de transformação atual desse pincel de textura com o produto de si mesmo e uma matriz de rotação.
Sintaxe
Status RotateTransform(
[in] REAL angle,
[in] MatrixOrder order
);
Parâmetros
[in] angle
Tipo: REAL
Número real que especifica o ângulo, em graus, de rotação.
[in] order
Tipo: MatrixOrder
Opcional. Elemento da enumeração MatrixOrder que especifica a ordem da multiplicação. MatrixOrderPrepend especifica que a matriz de rotação está à esquerda e MatrixOrderAppend especifica que a matriz de rotação está à direita. O valor padrão é MatrixOrderPrepend.
Retornar valor
Tipo: Status
Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .
Se o método falhar, ele retornará um dos outros elementos da enumeração Status .
Comentários
Uma única matriz 3×3 pode armazenar qualquer sequência de transformações de afins. Se você tiver várias matrizes 3×3, cada uma representando uma transformação de afinação, o produto dessas matrizes será uma única matriz de 3×3 que representa toda a sequência de transformações. A transformação representada por esse produto é chamada de transformação composta. Por exemplo, suponha que a matriz R represente uma rotação e a matriz T represente uma tradução. Se a matriz M for o RT do produto, a matriz M representará uma transformação composta: primeiro gire e, em seguida, converta.
A ordem de multiplicação de matriz é importante. Em geral, o RT do produto de matriz não é o mesmo que o TR do produto de matriz. No exemplo dado no parágrafo anterior, a transformação composta representada por RT (primeiro girar, depois traduzir) não é a mesma que a transformação composta representada por TR (primeiro traduzir, depois girar).
Exemplos
O exemplo a seguir cria um pincel de textura e define a transformação do pincel. Em seguida, o código usa o pincel transformado para preencher um retângulo.
VOID Example_RotateTransform(HDC hdc)
{
Graphics graphics(hdc);
Image image(L"HouseAndTree.Gif");
TextureBrush textureBrush(&image);
textureBrush.ScaleTransform(3, 1); // first scale
textureBrush.RotateTransform(30, MatrixOrderAppend); // then rotate
graphics.FillRectangle(&textureBrush, 0, 0, 400, 200);
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | gdiplusbrush.h (inclua Gdiplus.h) |
Biblioteca | Gdiplus.lib |
DLL | Gdiplus.dll |
Confira também
Preenchendo formas com um pincel de gradiente
Representação matricial de transformações