ImageAttributes::SetRemapTable-Methode (gdiplusimageattributes.h)
Die ImageAttributes::SetRemapTable-Methode legt die Farbzuordnungstabelle für eine angegebene Kategorie fest.
Syntax
Status SetRemapTable(
[in] UINT mapSize,
[in] const ColorMap *map,
[in, optional] ColorAdjustType type
);
Parameter
[in] mapSize
Typ: UINT
INT , das die Anzahl der Elemente im Zuordnungsarray angibt.
[in] map
Typ: const ColorMap*
Zeiger auf ein Array von ColorMap-Strukturen , das die Farbzuordnung definiert.
[in, optional] type
Typ: ColorAdjustType
Element der ColorAdjustType-Enumeration , das die Kategorie angibt, für die die Farbzuordnungstabelle festgelegt ist. Der Standardwert ist ColorAdjustTypeDefault.
Rückgabewert
Typ: Status
Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .
Wenn die Methode fehlschlägt, wird eines der anderen Elemente der Status-Enumeration zurückgegeben.
Hinweise
Eine Color-Remap-Tabelle ist ein Array von ColorMap-Strukturen . Jede ColorMap-Struktur verfügt über zwei Color-Objekte : eines, das eine alte Farbe angibt, und eines, das eine entsprechende neue Farbe angibt. Während des Renderns wird jede Farbe, die mit einer der alten Farben in der Neuzuordnungstabelle übereinstimmt, in die entsprechende neue Farbe geändert.
Ein ImageAttributes-Objekt verwaltet Farb- und Graustufeneinstellungen für fünf Anpassungskategorien: Standard, Bitmap, Pinsel, Stift und Text. Sie können z. B. eine Farbwiedenzuordnung für die Standardkategorie, eine Farbwiedenzuordnungstabelle für die Bitmapkategorie und weiterhin eine andere Farbzuordnungstabelle für die Stiftkategorie angeben.
Die Standardeinstellungen für Farb- und Graustufenanpassung gelten für alle Kategorien, die keine eigenen Anpassungseinstellungen haben. Wenn Sie beispielsweise nie Anpassungseinstellungen für die Stiftkategorie angeben, gelten die Standardeinstellungen für die Stiftkategorie.
Sobald Sie eine Farb- oder Graustufenanpassungseinstellung für eine bestimmte Kategorie angeben, gelten die Standardeinstellungseinstellungen nicht mehr für diese Kategorie. Angenommen, Sie geben eine Sammlung von Anpassungseinstellungen für die Standardkategorie an. Wenn Sie die Color-Remap-Tabelle für die Stiftkategorie festlegen, indem Sie ColorAdjustTypePen an die ImageAttributes::SetRemapTable-Methode übergeben, gilt keine der Standardanpassungseinstellungen für Stifte.
Beispiele
Im folgenden Beispiel wird ein Image-Objekt basierend auf einer .bmp-Datei erstellt und dann das Bild zeichnerisch. Der Code erstellt ein ImageAttributes-Objekt und legt die standardremap-Tabelle so fest, dass Rot in Blau konvertiert wird. Anschließend zeichnet der Code das Bild erneut mithilfe der Farbanpassung, die in der Neuzuordnungstabelle angegeben ist.
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);
}
Die folgende Abbildung zeigt die Ausgabe des vorangehenden Codes.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP, Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | gdiplusimageattributes.h (include Gdiplus.h) |
Bibliothek | Gdiplus.lib |
DLL | Gdiplus.dll |