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
Rellenar una forma con un degradado de color
PathGradientBrush::GetBlendCount
PathGradientBrush::SetCenterColor
PathGradientBrush::SetCenterPoint (Métodos)