Compartir a través de


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

El método PathGradientBrush::SetBlend establece los factores de mezcla y las posiciones de mezcla de este pincel de degradado de trazado.

Sintaxis

Status SetBlend(
  [in] const REAL *blendFactors,
  [in] const REAL *blendPositions,
  [in] INT        count
);

Parámetros

[in] blendFactors

Tipo: REAL*

Puntero a una matriz de factores de mezcla. Cada número de la matriz debe estar comprendido entre 0 y 1.

[in] blendPositions

Tipo: REAL*

Puntero a una matriz de posiciones de mezcla. Cada número de la matriz debe estar comprendido entre 0 y 1.

[in] count

Tipo: INT

Entero que especifica el número de elementos de la matriz blendFactors . Es el mismo que el número de elementos de la matriz blendPositions .

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

Un objeto PathGradientBrush tiene una ruta de acceso de límite y un punto central. Cuando se rellena un área con un pincel degradado de trazado, el color cambia gradualmente a medida que se mueve de la ruta de acceso del límite al punto central. De forma predeterminada, el color está linealmente relacionado con la distancia, pero puede personalizar la relación entre el color y la distancia llamando al método PathGradientBrush::SetBlend .

Ejemplos

En el ejemplo siguiente se crea un objeto PathGradientBrush basado en una elipse. El código llama al método PathGradientBrush::SetBlend del objeto PathGradientBrush para establecer un conjunto de factores de mezcla y posiciones de mezcla para el pincel. A continuación, el código usa el pincel de degradado de ruta para rellenar la elipse.

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

   // Create a path that consists of a single ellipse.
   GraphicsPath path;
   path.AddEllipse(0, 0, 200, 100);

   // Use the path to construct a brush.
   PathGradientBrush pthGrBrush(&path);

   // Set the color at the center of the path to blue.
   pthGrBrush.SetCenterColor(Color(255, 0, 0, 255));

   // Set the color along the entire boundary of the path to aqua.
   Color colors[] = {Color(255, 0, 255, 255)};
   INT count = 1;
   pthGrBrush.SetSurroundColors(colors, &count);

   // Set blend factors and positions for the path gradient brush.
   REAL fac[] = {
      0.0f, 
      0.4f,     // 40 percent of the way from aqua to blue
      0.8f,     // 80 percent of the way from aqua to blue
      1.0f};

   REAL pos[] = {
      0.0f, 
      0.3f,   // 30 percent of the way from the boundary to the center
      0.7f,   // 70 percent of the way from the boundary to the center
      1.0f};

   pthGrBrush.SetBlend(fac, pos, 4);

   // Fill the ellipse with the path gradient brush.
   graphics.FillEllipse(&pthGrBrush, 0, 0, 200, 100);  
}

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 gdipluspath.h (incluya Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll

Consulte también

Pinceles y formas rellenas

Color

Crear un degradado de trazado

Rellenar una forma con un degradado de color

Graphicspath

PathGradientBrush

PathGradientBrush::GetBlend

PathGradientBrush::GetBlendCount