Método TextureBrush::ScaleTransform (gdiplusbrush.h)
El método TextureBrush::ScaleTransform actualiza la matriz de transformación actual del pincel de textura con el producto de sí mismo y una matriz de escalado.
Sintaxis
Status ScaleTransform(
[in] REAL sx,
[in] REAL sy,
[in] MatrixOrder order
);
Parámetros
[in] sx
Tipo: REAL
Número real que especifica la cantidad que se va a escalar en la dirección x.
[in] sy
Tipo: REAL
Número real que especifica la cantidad que se va a escalar en la dirección y.
[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 escalado está a la izquierda y MatrixOrderAppend especifica que la matriz de escalado está a la derecha. El valor predeterminado es MatrixOrderPrepend.
Valor devuelto
Tipo: Estado
Si el método se realiza 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 de 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 T representa una traducción y la matriz S representa un escalado. Si la matriz M es el TS del producto, la matriz M representa una transformación compuesta: primero traduzca y, a continuación, escale.
El orden de multiplicación de matriz es importante. En general, el producto de matriz RT no es el mismo que el tr del producto de matriz. 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 (primero traducir y 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_ScaleTransform(HDC hdc)
{
Graphics graphics(hdc);
Image image(L"HouseAndTree.Gif");
TextureBrush textureBrush(&image);
textureBrush.RotateTransform(30); // first rotate
textureBrush.ScaleTransform(3, 1, MatrixOrderAppend); // then scale
graphics.FillRectangle(&textureBrush, 0, 0, 400, 200);
}
Requisitos
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
Rellenar formas con un pincel degradado
Representación matricial de transformaciones
TextureBrush::MultiplyTransform