Compartilhar via


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

Pincéis e formas preenchidas

Preenchendo formas com um pincel de gradiente

Imagem

Matriz

Representação matricial de transformações

Matrixorder

Texturebrush

TextureBrush::ScaleTransform

TextureBrush::SetTransform

TextureBrush::TranslateTransform

Transformações