Método PathGradientBrush::SetTransform (gdipluspath.h)
El método PathGradientBrush::SetTransform establece la matriz de transformación de este pincel de degradado de ruta de acceso.
Sintaxis
Status SetTransform(
[in] const Matrix *matrix
);
Parámetros
[in] matrix
Puntero a un objeto Matrix que especifica la matriz de transformación.
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
Un objeto PathGradientBrush tiene un objeto GraphicsPath que actúa como ruta de acceso de límite para el pincel. Al pintar con un pincel degradado de trazado, solo se rellena el área dentro del trazado de límite. Si la matriz de transformación del pincel se establece para representar cualquier transformación que no sea la identidad, la ruta de acceso del límite se transforma según esa matriz durante la representación y solo se rellena el área dentro de la ruta de acceso transformada.
La transformación solo se aplica durante la representación. El método PathGradientBrush no modifica la ruta de acceso de límite almacenada por el objeto PathGradientBrush::SetTransform .
Ejemplos
En el ejemplo siguiente se crea un objeto PathGradientBrush basado en una ruta triangular. El método Graphics::FillRectangle usa el pincel degradado de trazado para pintar un rectángulo que contiene la ruta triangular. A continuación, el código crea un objeto Matrix que representa una transformación compuesta (girar y traducir) y pasa la dirección de ese objeto Matrix al método PathGradientBrush::SetTransform del objeto PathGradientBrush . El código llama a FillRectangle una segunda vez para pintar el mismo rectángulo mediante el pincel degradado de ruta de acceso transformado.
VOID Example_SetTransform(HDC hdc)
{
Graphics graphics(hdc);
Point pts[] = {
Point(0, 0),
Point(100, 0),
Point(100, 100)};
Color cols[] = {
Color(255, 255, 0, 0), // red
Color(255, 0, 255, 0), // green
Color(255, 0, 0, 0)}; // black
INT count = 3;
PathGradientBrush pthGrBrush(pts, 3);
pthGrBrush.SetSurroundColors(cols, &count);
// Fill an area with the path gradient brush (no transformation).
graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);
// Set the transformation for the brush (rotate, then translate).
Matrix matrix(0.0f, 1.0f, -1.0f, 0.0f, 150.0f, 60.0f);
pthGrBrush.SetTransform(&matrix);
// Fill the same area with the transformed path gradient brush.
graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 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 | gdipluspath.h (incluya Gdiplus.h) |
Library | Gdiplus.lib |
Archivo DLL | Gdiplus.dll |
Consulte también
Creación de un degradado de trazado
Rellenar una forma con un degradado de color
PathGradientBrush::GetTransform
PathGradientBrush::MultiplyTransform
PathGradientBrush::ResetTransform
PathGradientBrush::RotateTransform