Método PathGradientBrush::GetInterpolationColorCount (gdipluspath.h)
El método PathGradientBrush::GetInterpolationColorCount obtiene el número de colores preestablecidos especificados actualmente para este pincel de degradado de ruta de acceso.
Sintaxis
INT GetInterpolationColorCount();
Valor devuelto
Tipo: INT
Este método devuelve el número de colores preestablecidos especificados actualmente para este pincel de degradado de ruta de acceso.
Comentarios
Un pincel de degradado de trazado simple tiene dos colores: un color de límite y un color central. Al pintar con un pincel de este tipo, el color cambia gradualmente del color del límite al color central a medida que se mueve de la ruta de acceso del límite al punto central. Puede crear un degradado más complejo especificando una matriz de colores preestablecidos y una matriz de posiciones de mezcla.
Puede obtener los colores de interpolación y las posiciones de interpolación establecidos actualmente para un objeto PathGradientBrush llamando al método PathGradientBrush::GetInterpolationColors de ese objeto PathGradientBrush . Antes de llamar al método PathGradientBrush::GetInterpolationColors , debe asignar dos búferes: uno para contener la matriz de colores de interpolación y otro para contener la matriz de posiciones de interpolación. Puedes llamar al método PathGradientBrush::GetInterpolationColorCount del objeto PathGradientBrush para determinar el tamaño necesario de esos búferes. El tamaño del búfer de color es el valor devuelto de GetInterpolationColorCount multiplicado por sizeof(Color). El tamaño del búfer de posición es el valor de PathGradientBrush::GetInterpolationColorCount multiplicado por sizeof( REAL).
Ejemplos
En el ejemplo siguiente se crea un objeto PathGradientBrush a partir de una ruta triangular. El código establece los colores preestablecidos en rojo, azul y aguamarino y establece las posiciones de mezcla en 0, 0,6 y 1. El código llama al método PathGradientBrush::GetInterpolationColorCount del objeto PathGradientBrush para obtener el número de colores preestablecidos establecidos actualmente para el pincel. A continuación, el código asigna dos búferes: uno para contener la matriz de colores preestablecidos y otro para contener la matriz de posiciones de mezcla. La llamada al método PathGradientBrush::GetInterpolationColors del objeto PathGradientBrush rellena los búferes con los colores preestablecidos y las posiciones de mezcla. Por último, el código rellena un cuadrado pequeño con cada uno de los colores preestablecidos.
VOID Example_GetInterpColors(HDC hdc)
{
Graphics graphics(hdc);
// Create a path gradient brush from an array of points, and
// set the interpolation colors for that brush.
Point points[] = {Point(100, 0), Point(200, 200), Point(0, 200)};
PathGradientBrush pthGrBrush(points, 3);
Color col[] = {
Color(255, 255, 0, 0), // red
Color(255, 0, 0, 255), // blue
Color(255, 0, 255, 255)}; // aqua
REAL pos[] = {
0.0f, // red at the boundary
0.6f, // blue 60 percent of the way from the boundary to the center
1.0f}; // aqua at the center
pthGrBrush.SetInterpolationColors(col, pos, 3);
// Obtain information about the path gradient brush.
INT colorCount = pthGrBrush.GetInterpolationColorCount();
Color* colors = new Color[colorCount];
REAL* positions = new REAL[colorCount];
pthGrBrush.GetInterpolationColors(colors, positions, colorCount);
// Fill a small square with each of the interpolation colors.
SolidBrush solidBrush(Color(255, 255, 255, 255));
for(INT j = 0; j < colorCount; ++j)
{
solidBrush.SetColor(colors[j]);
graphics.FillRectangle(&solidBrush, 15*j, 0, 10, 10);
}
delete [] colors;
delete [] positions;
}
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
Rellenar una forma con un degradado de color