Compartilhar via


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

O método PathGradientBrush::GetSurroundColors obtém as cores surround especificadas atualmente para esse pincel de gradiente de caminho.

Sintaxe

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

Parâmetros

[in] colors

Tipo: Cor*

Ponteiro para uma matriz que recebe as cores do surround.

[in, out] count

Tipo: INT*

Ponteiro para um inteiro que, na entrada, especifica o número de cores solicitadas. Se o método for bem-sucedido, esse parâmetro, na saída, receberá o número de cores recuperadas. Se o método falhar, esse parâmetro não receberá um valor.

Retornar valor

Tipo: Status

Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .

Se o método falhar, ele retornará um dos outros elementos da enumeração Status .

Comentários

Um pincel de gradiente de caminho tem um caminho de limite e um ponto central. O ponto central é definido como uma única cor, mas você pode especificar cores diferentes para vários pontos no limite. Por exemplo, suponha que você especifique vermelho para a cor central e especifique azul, verde e amarelo para pontos distintos no limite. Em seguida, à medida que você se move ao longo do limite, a cor mudará gradualmente de azul para verde para amarelo e de volta para azul. À medida que você se move ao longo de uma linha reta de qualquer ponto no limite para o ponto central, a cor mudará da cor desse ponto de limite para vermelho.

Exemplos

O exemplo a seguir cria um objeto PathGradientBrush com base em um caminho triangular definido por uma matriz de três pontos. O código chama o método PathGradientBrush::SetSurroundColors do objeto PathGradientBrush para especificar uma cor para cada um dos pontos que definem o triângulo. O método PathGradientBrush::GetSurroundColorCount determina o número atual de cores surround (as cores especificadas para o caminho de limite do pincel). Em seguida, o código aloca um buffer grande o suficiente para receber a matriz de cores surround e chama PathGradientBrush::GetSurroundColors para preencher esse buffer. Por fim, o código preenche um pequeno quadrado com cada uma das cores surround do 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 Valor
Cliente mínimo com suporte Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho gdipluspath.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Pincéis e formas preenchidas

Cor

Criando um Gradiente de Caminho

Preenchendo uma forma com um gradiente de cor

Pathgradientbrush

PathGradientBrush::GetSurroundColorCount

PathGradientBrush::SetSurroundColors