Compartir a través de


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

El método PathGradientBrush::GetBlend obtiene los factores de mezcla y las posiciones de mezcla correspondientes establecidas actualmente para este pincel de degradado de trazado.

Sintaxis

Status GetBlend(
  [out] REAL *blendFactors,
  [out] REAL *blendPositions,
  [in]  INT  count
);

Parámetros

[out] blendFactors

Tipo: REAL*

Puntero a una matriz que recibe los factores de mezcla.

[out] blendPositions

Tipo: REAL*

Puntero a una matriz que recibe las posiciones de mezcla.

[in] count

Tipo: INT

Entero que especifica el número de factores de mezcla que se van a recuperar. Antes de llamar al método PathGradientBrush::GetBlend de un objeto PathGradientBrush , llame al método PathGradientBrush::GetBlendCount de ese mismo objeto PathGradientBrush para determinar el número actual de factores de mezcla. El número de posiciones de mezcla recuperadas es el mismo que el número de factores de mezcla recuperados.

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 muestran varios métodos de la clase PathGradientBrush , como PathGradientBrush::SetBlend, PathGradientBrush::GetBlendCount y PathGradientBrush::GetBlend. El código crea un objeto PathGradientBrush y llama al método PathGradientBrush::SetBlend para establecer un conjunto de factores de mezcla y posiciones de mezcla para el pincel. A continuación, el código llama al método PathGradientBrush::GetBlendCount para recuperar el número de factores de mezcla. Una vez recuperado el número de factores de mezcla, el código asigna dos búferes: uno para recibir la matriz de factores de mezcla y otro para recibir la matriz de posiciones de mezcla. A continuación, el código llama al método PathGradientBrush::GetBlend para recuperar los factores de mezcla y las posiciones de mezcla.

VOID Example_GetBlend(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);

   // Obtain information about the path gradient brush.
   INT blendCount = pthGrBrush.GetBlendCount();
   REAL* factors = new REAL[blendCount];
   REAL* positions = new REAL[blendCount];

   pthGrBrush.GetBlend(factors, positions, blendCount);

   for(INT j = 0; j < blendCount; ++j)
   {
      // Inspect or use the value in factors[j].
      // Inspect or use the value in positions[j].    
   }

   delete [] factors;
   delete [] positions; 
}

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

Crear un degradado de trazado

Rellenar una forma con un degradado de color

Graphicspath

LinearGradientBrush

PathGradientBrush

PathGradientBrush::GetBlendCount

PathGradientBrush::SetBlend

PathGradientBrush::SetCenterColor

PathGradientBrush::SetCenterPoint (Métodos)

PathGradientBrush::SetSurroundColors

Paths