Compartir a través de


Método PathGradientBrush::SetFocusScales (gdipluspath.h)

El método PathGradientBrush::SetFocusScales establece las escalas de foco de este pincel de degradado de ruta de acceso.

Sintaxis

Status SetFocusScales(
  [in] REAL xScale,
  [in] REAL yScale
);

Parámetros

[in] xScale

Tipo: REAL

Número real que especifica la escala de foco x.

[in] yScale

Tipo: REAL

Número real que especifica la escala de foco y.

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

De forma predeterminada, el color central de un degradado de trazado está en el punto central. Al llamar a PathGradientBrush::SetFocusScales, puede especificar que el color central debe aparecer a lo largo de una ruta de acceso que rodea el punto central. Esa ruta de acceso es la ruta de límite escalada por un factor de xScale en la dirección x y por un factor de yScale en la dirección y. El área dentro del trazado escalado se rellena con el color central.

Ejemplos

En el ejemplo siguiente se crea un objeto PathGradientBrush basado en una ruta triangular. El código llama al método PathGradientBrush::SetFocusScales del objeto PathGradientBrush para establecer las escalas de foco del pincel en (0.2, 0.2). A continuación, el código usa el pincel de degradado de ruta de acceso para pintar un rectángulo que incluya la ruta triangular.

VOID Example_SetFocusScales(HDC hdc)
{
   Graphics graphics(hdc);

   Point points[] = {Point(100, 0), Point(200, 200), Point(0, 200)};

   // No GraphicsPath object is created. The PathGradientBrush
   // object is constructed directly from the array of points.
   PathGradientBrush pthGrBrush(points, 3);

   Color colors[] = {
      Color(255, 255, 0, 0),    // red
      Color(255, 0, 0, 255)};   // blue

   REAL relativePositions[] = {
      0.0f,    // red at the boundary of the outer triangle
      1.0f};   // blue at the boundary of the inner triangle

   pthGrBrush.SetInterpolationColors(colors, relativePositions, 2);

   // The inner triangle is formed by scaling the outer triangle
   // about its centroid. The scaling factor is 0.2 in both
   // the x and y directions.
   pthGrBrush.SetFocusScales(0.2f, 0.2f);

   // Fill a rectangle that is larger than the triangle
   // specified in the Point array. The portion of the
   // rectangle outside the triangle will not be painted.
   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

Crear un degradado de trazado

Rellenar una forma con un degradado de color

PathGradientBrush

PathGradientBrush::GetFocusScales

PathGradientBrush::SetInterpolationColors