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 |