Compartir a través de


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

Pinceles y formas rellenas

Color

Crear un degradado de trazado

Rellenar una forma con un degradado de color

PathGradientBrush

PathGradientBrush::GetInterpolationColors

PathGradientBrush::SetInterpolationColors