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.
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 |