Método PathGradientBrush::GetInterpolationColorCount (gdipluspath.h)
O método PathGradientBrush::GetInterpolationColorCount obtém o número de cores predefinidas especificadas atualmente para esse pincel de gradiente de caminho.
Sintaxe
INT GetInterpolationColorCount();
Retornar valor
Tipo: INT
Esse método retorna o número de cores predefinidas especificadas atualmente para esse pincel de gradiente de caminho.
Comentários
Um pincel de gradiente de caminho simples tem duas cores: uma cor de limite e uma cor central. Quando você pinta com esse pincel, a cor muda gradualmente da cor do limite para a cor central à medida que você passa do caminho de limite para o ponto central. Você pode criar um gradiente mais complexo especificando uma matriz de cores predefinidas e uma matriz de posições de combinação.
Você pode obter as cores de interpolação e as posições de interpolação definidas atualmente para um objeto PathGradientBrush chamando o método PathGradientBrush::GetInterpolationColors desse objeto PathGradientBrush . Antes de chamar o método PathGradientBrush::GetInterpolationColors , você deve alocar dois buffers: um para manter a matriz de cores de interpolação e outro para manter a matriz de posições de interpolação. Você pode chamar o método PathGradientBrush::GetInterpolationColorCount do objeto PathGradientBrush para determinar o tamanho necessário desses buffers. O tamanho do buffer de cores é o valor retornado de GetInterpolationColorCount multiplicado por sizeof(Color). O tamanho do buffer de posição é o valor de PathGradientBrush::GetInterpolationColorCount multiplicado por sizeof( REAL).
Exemplos
O exemplo a seguir cria um objeto PathGradientBrush de um caminho triangular. O código define as cores predefinidas como vermelho, azul e aqua e define as posições de mesclagem como 0, 0,6 e 1. O código chama o método PathGradientBrush::GetInterpolationColorCount do objeto PathGradientBrush para obter o número de cores predefinidas definidas atualmente para o pincel. Em seguida, o código aloca dois buffers: um para manter a matriz de cores predefinidas e outro para manter a matriz de posições de mesclagem. A chamada para o método PathGradientBrush::GetInterpolationColors do objeto PathGradientBrush preenche os buffers com as cores predefinidas e as posições de mesclagem. Por fim, o código preenche um quadrado pequeno com cada uma das cores predefinidas.
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 | 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
Criando um Gradiente de Caminho
Preenchendo uma forma com um gradiente de cor