Compartilhar via


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.

Ilustração com duas linhas de retângulos coloridos; o último dos quais é verde na Linha 1, azul na Linha 2

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

Confira também

Bitmap

Cor

Coloradjusttype

Colormap

Colorpalette

Imagem

Imageattributes

Metarquivo

PaletteFlags

Recolorir