Compartir a través de


Método TextureBrush::RotateTransform (gdiplusbrush.h)

El método TextureBrush::RotateTransform actualiza la matriz de transformación actual de este pincel de textura con el producto de sí mismo y una matriz de rotación.

Sintaxis

Status RotateTransform(
  [in] REAL        angle,
  [in] MatrixOrder order
);

Parámetros

[in] angle

Tipo: REAL

Número real que especifica el ángulo, en grados, de rotación.

[in] order

Tipo: MatrixOrder

Opcional. Elemento de la enumeración MatrixOrder que especifica el orden de la multiplicación. MatrixOrderPrepend especifica que la matriz de rotación está a la izquierda y MatrixOrderAppend especifica que la matriz de rotación está a la derecha. El valor predeterminado es MatrixOrderPrepend.

Valor devuelto

Tipo: Estado

Si el método se ejecuta correctamente, devuelve Ok, que es un elemento de la enumeración Status .

Si se produce un error en el método, devuelve uno de los otros elementos de la enumeración Status .

Comentarios

Una sola matriz de 3×3 puede almacenar cualquier secuencia de transformaciones afín. Si tiene varias matrices 3×3, cada una de las cuales representa una transformación afín, el producto de esas matrices es una única matriz de 3×3 que representa toda la secuencia de transformaciones. La transformación representada por ese producto se denomina transformación compuesta. Por ejemplo, supongamos que la matriz R representa una rotación y la matriz T representa una traducción. Si la matriz M es el producto RT, la matriz M representa una transformación compuesta: gire primero y luego traduzca.

El orden de multiplicación de matriz es importante. En general, el producto de matriz RT no es el mismo que el producto de matriz TR. En el ejemplo indicado en el párrafo anterior, la transformación compuesta representada por RT (primero girar y traducir) no es la misma que la transformación compuesta representada por TR (traducir primero y, a continuación, girar).

Ejemplos

En el ejemplo siguiente se crea un pincel de textura y se establece la transformación del pincel. A continuación, el código usa el pincel transformado para rellenar un rectá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 Value
Cliente mínimo compatible Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdiplusbrush.h (include Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll

Consulte también

Pinceles y formas rellenas

Rellenar formas con un pincel degradado

Imagen

Matriz

Representación matricial de transformaciones

MatrixOrder

TextureBrush

TextureBrush::ScaleTransform

TextureBrush::SetTransform

TextureBrush::TranslateTransform

Transformaciones