Metodo ImageAttributes::GetAdjustedPalette (gdiplusimageattributes.h)

Il metodo ImageAttributes::GetAdjustedPalette regola i colori in una tavolozza in base alle impostazioni di regolazione di una categoria specificata.

Sintassi

Status GetAdjustedPalette(
  [in, out] ColorPalette    *colorPalette,
  [in]      ColorAdjustType colorAdjustType
);

Parametri

[in, out] colorPalette

Tipo: ColorPalette*

Puntatore a una struttura ColorPalette che sull'input contiene la tavolozza da regolare e, nell'output, riceve la tavolozza regolata.

[in] colorAdjustType

Tipo: ColorPalette

Elemento dell'enumerazione ColorAdjustType che specifica la categoria le cui impostazioni di regolazione verranno applicate alla tavolozza.

Valore restituito

Tipo: Stato

Se il metodo ha esito positivo, restituisce Ok, che è un elemento dell'enumerazione Status .

Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .

Commenti

Un oggetto ImageAttributes mantiene le impostazioni di colore e gradazioni di grigio per cinque categorie di regolazione: default, bitmap, brush, pen e text. Ad esempio, è possibile specificare una tabella color-remap per la categoria predefinita, una tabella color-remap diversa per la categoria bitmap e ancora una tabella a colori diversa per la categoria penna.

Quando chiami ImageAttributes::GetAdjustedPalette, puoi specificare la categoria di regolazione usata per regolare i colori della tavolozza. Ad esempio, se passi ColorAdjustTypeBitmap al metodo ImageAttributes::GetAdjustedPalette , le impostazioni di regolazione della categoria bitmap vengono usate per regolare i colori della tavolozza.

Esempio

Nell'esempio seguente viene inizializzata una struttura ColorPalette con quattro colori: aqua, nero, rosso e verde. Il codice crea anche un oggetto ImageAttributes e imposta la tabella di mapping bitmap in modo che il verde venga convertito in blu. Il codice regola quindi i colori della tavolozza passando l'indirizzo della tavolozza al metodo ImageAttributes::GetAdjustedPalette dell'oggetto ImageAttributes . Il codice visualizza i quattro colori della tavolozza due volte: una volta prima della regolazione e una volta dopo la regolazione.


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);
   }
}
				

La figura seguente mostra l'output del codice precedente. Si noti che il verde nella tavolozza originale è stato modificato in blu.

Illustrazione con due righe di rettangoli colorati; l'ultimo dei quali è verde nella riga 1, blu nella riga 2

Requisiti

   
Client minimo supportato Windows XP, Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione gdiplusimageattributes.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

Bitmap

Color

Coloradjusttype

ColorMap

ColorPalette

Immagine

Imageattributes

Metafile

PaletteFlags

Ricolorazione