Compartir a través de


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

Tipo: matriz const *

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

Pinceles y formas rellenas

Creación de un degradado de trazado

Rellenar una forma con un degradado de color

Graphicspath

PathGradientBrush

PathGradientBrush::GetTransform

PathGradientBrush::MultiplyTransform

PathGradientBrush::ResetTransform

PathGradientBrush::RotateTransform

PathGradientBrush::ScaleTransform

PathGradientBrush::TranslateTransform