Share via


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

El método PathGradientBrush::GetSurroundColors obtiene los colores envolventes especificados actualmente para este pincel de degradado de ruta de acceso.

Sintaxis

Status GetSurroundColors(
  [in]      Color *colors,
  [in, out] INT   *count
);

Parámetros

[in] colors

Tipo: Color*

Puntero a una matriz que recibe los colores envolventes.

[in, out] count

Tipo: INT*

Puntero a un entero que, en la entrada, especifica el número de colores solicitados. Si el método se realiza correctamente, este parámetro, en la salida, recibe el número de colores recuperados. Si se produce un error en el método, este parámetro no recibe un valor.

Valor devuelto

Tipo: Estado

Si el método se realiza 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 pincel de degradado de trazado tiene un trazado de límite y un punto central. El punto central se establece en un solo color, pero puede especificar colores diferentes para varios puntos en el límite. Por ejemplo, supongamos que especifica rojo para el color central y especifica azul, verde y amarillo para puntos distintos en el límite. A medida que se mueve a lo largo del límite, el color cambiará gradualmente de azul a verde a amarillo y de vuelta a azul. A medida que se mueve a lo largo de una línea recta desde cualquier punto del límite al punto central, el color cambiará del color de ese punto de límite a rojo.

Ejemplos

En el ejemplo siguiente se crea un objeto PathGradientBrush basado en una ruta triangular definida por una matriz de tres puntos. El código llama al método PathGradientBrush::SetSurroundColors del objeto PathGradientBrush para especificar un color para cada uno de los puntos que definen el triángulo. El método PathGradientBrush::GetSurroundColorCount determina el número actual de colores envolventes (los colores especificados para la ruta de límite del pincel). A continuación, el código asigna un búfer lo suficientemente grande como para recibir la matriz de colores envolventes y llama a PathGradientBrush::GetSurroundColors para rellenar ese búfer. Por último, el código rellena un cuadrado pequeño con cada uno de los colores envolventes del pincel.

VOID Example_GetSurColors(HDC hdc)
{
   Graphics graphics(hdc);

   // Create a path gradient brush and set its surround colors.
   Point pts[] = {
      Point(20, 20), 
      Point(100, 20), 
      Point(100, 100)};

   Color cols[] = {
      Color(255, 255, 0, 0),  // red
      Color(255, 0, 255, 0),  // green
      Color(255, 0, 0, 0)};   // black

   INT count = 3;
   PathGradientBrush pthGrBrush(pts, 3);
   pthGrBrush.SetSurroundColors(cols, &count);
   
   // Obtain information about the path gradient brush.
   INT colorCount = pthGrBrush.GetSurroundColorCount();
   Color* colors = new Color[colorCount];
   pthGrBrush.GetSurroundColors(colors, &colorCount);

   // Fill a small square with each of the surround 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;
}

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

Creación de un degradado de trazado

Rellenar una forma con un degradado de color

PathGradientBrush

PathGradientBrush::GetSurroundColorCount

PathGradientBrush::SetSurroundColors