Método ImageAttributes::GetAdjustedPalette (gdiplusimageattributes.h)
O método ImageAttributes::GetAdjustedPalette ajusta as cores em uma paleta de acordo com as configurações de ajuste de uma categoria especificada.
Sintaxe
Status GetAdjustedPalette(
[in, out] ColorPalette *colorPalette,
[in] ColorAdjustType colorAdjustType
);
Parâmetros
[in, out] colorPalette
Tipo: ColorPalette*
Ponteiro para uma estrutura ColorPalette que, na entrada, contém a paleta a ser ajustada e, na saída, recebe a paleta ajustada.
[in] colorAdjustType
Tipo: ColorPalette
Elemento da enumeração ColorAdjustType que especifica a categoria cujas configurações de ajuste serão aplicadas à paleta.
Valor retornado
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 objeto ImageAttributes mantém as configurações de cor e escala de cinza para cinco categorias de ajuste: padrão, bitmap, pincel, caneta e texto. Por exemplo, você pode especificar uma tabela de remapeamento de cores para a categoria padrão, uma tabela de remapeamento de cores diferente para a categoria de bitmap e ainda uma tabela de remapeamento de cores diferente para a categoria de caneta.
Ao chamar ImageAttributes::GetAdjustedPalette, você pode especificar a categoria de ajuste usada para ajustar as cores da paleta. Por exemplo, se você passar ColorAdjustTypeBitmap para o método ImageAttributes::GetAdjustedPalette , as configurações de ajuste da categoria bitmap serão usadas para ajustar as cores da paleta.
Exemplos
O exemplo a seguir inicializa uma estrutura ColorPalette com quatro cores: aqua, preto, vermelho e verde. O código também cria um objeto ImageAttributes e define sua tabela de remapeamento de bitmap para que o verde seja convertido em azul. Em seguida, o código ajusta as cores da paleta passando o endereço da paleta para o método ImageAttributes::GetAdjustedPalette do objeto ImageAttributes . O código exibe as quatro cores da paleta duas vezes: uma antes do ajuste e outra após o ajuste.
VOID Example_GetAdjustedPalette(HDC hdc)
{
Graphics graphics(hdc);
INT j;
// Create a palette that has four entries.
ColorPalette* palette =
(ColorPalette*)malloc(sizeof(ColorPalette) + 3 * sizeof(ARGB));
palette->Flags = 0;
palette->Count = 4;
palette->Entries[0] = 0xFF00FFFF; // aqua
palette->Entries[1] = 0xFF000000; // black
palette->Entries[2] = 0xFFFF0000; // red
palette->Entries[3] = 0xFF00FF00; // green
// Display the four palette colors with no adjustment.
SolidBrush brush(Color());
for(j = 0; j < 4; ++j)
{
brush.SetColor(palette->Entries[j]);
graphics.FillRectangle(&brush, 30*j, 0, 20, 20);
}
// Create a remap table that converts green to blue.
ColorMap map;
map.oldColor = Color(255, 0, 255, 0); // green
map.newColor = Color(255, 0, 0, 255); // blue
// Create an ImageAttributes object, and set its bitmap remap table.
ImageAttributes imAtt;
imAtt.SetRemapTable(1, &map, ColorAdjustTypeBitmap);
// Adjust the palette.
imAtt.GetAdjustedPalette(palette, ColorAdjustTypeBitmap);
// Display the four palette colors after the adjustment.
for(j = 0; j < 4; ++j)
{
brush.SetColor(palette->Entries[j]);
graphics.FillRectangle(&brush, 30*j, 30, 20, 20);
}
}
A ilustração a seguir mostra a saída do código anterior. Observe que o verde na paleta original foi alterado para azul.
Requisitos
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 | gdiplusimageattributes.h (inclua Gdiplus.h) |
Biblioteca | Gdiplus.lib |
DLL | Gdiplus.dll |