Metodo ImageAttributes::SetRemapTable (gdiplusimageattributes.h)
Il metodo ImageAttributes::SetRemapTable imposta la tabella color-remap per una categoria specificata.
Sintassi
Status SetRemapTable(
[in] UINT mapSize,
[in] const ColorMap *map,
[in, optional] ColorAdjustType type
);
Parametri
[in] mapSize
Tipo: UINT
INT che specifica il numero di elementi nella matrice della mappa .
[in] map
Tipo: const ColorMap*
Puntatore a una matrice di strutture ColorMap che definisce la mappa dei colori.
[in, optional] type
Tipo: ColorAdjustType
Elemento dell'enumerazione ColorAdjustType che specifica la categoria per cui è impostata la tabella color-remap. Il valore predefinito è ColorAdjustTypeDefault.
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
Una tabella color-remap è una matrice di strutture ColorMap . Ogni struttura ColorMap ha due oggetti Color : uno che specifica un colore precedente e uno che specifica un nuovo colore corrispondente. Durante il rendering, qualsiasi colore corrispondente a uno dei colori precedenti nella tabella di nuovo mapping viene modificato nel nuovo colore corrispondente.
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 nuova mappa dei colori per la categoria predefinita, una tabella color-remap per la categoria bitmap e ancora una tabella diversa per la categoria della penna.
Le impostazioni predefinite di regolazione del colore e della scala di grigio si applicano a tutte le categorie che non dispongono di impostazioni di regolazione personalizzate. Ad esempio, se non si specificano mai impostazioni di regolazione per la categoria della penna, le impostazioni predefinite si applicano alla categoria della penna.
Non appena si specifica un'impostazione di regolazione del colore o della scala di grigi per una determinata categoria, le impostazioni di regolazione predefinite non si applicano più a tale categoria. Si supponga, ad esempio, di specificare una raccolta di impostazioni di regolazione per la categoria predefinita. Se si imposta la tabella color-remap per la categoria della penna passando ColorAdjustTypePen al metodo ImageAttributes::SetRemapTable , nessuna delle impostazioni di regolazione predefinite verrà applicata alle penne.
Esempio
L'esempio seguente crea un oggetto Image basato su un file .bmp e quindi disegna l'immagine. Il codice crea un oggetto ImageAttributes e imposta la tabella di rieseguire il mapping predefinito in modo che il rosso venga convertito in blu. Il codice disegna quindi di nuovo l'immagine usando la regolazione del colore specificata dalla tabella di nuovo mapping.
VOID Example_SetRemapTable(HDC hdc)
{
Graphics graphics(hdc);
// Create an Image object based on a .bmp file.
// The image has one red stripe and one green stripe.
Image image(L"RedGreenStripes.bmp");
// Create an ImageAttributes object and set its remap table.
ImageAttributes imageAtt;
ColorMap cMap;
cMap.oldColor = Color(255, 255, 0, 0); // red
cMap.newColor = Color(255, 0, 0, 255); // blue
imageAtt.SetRemapTable(12, &cMap,
ColorAdjustTypeDefault);
// Draw the image with no color adjustment.
graphics.DrawImage(&image, 10, 10, image.GetWidth(), image.GetHeight());
// Draw the image with red converted to blue.
graphics.DrawImage(&image,
Rect(100, 10, image.GetWidth(), image.GetHeight()), // dest rect
0, 0, image.GetWidth(), image.GetHeight(), // source rect
UnitPixel,
&imageAtt);
}
La figura seguente mostra l'output del codice precedente.
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 |