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.

Abbildung eines Rechtecks mit rotem und grünem Bereich und dem gleichen Rechteck, in dem der rote Bereich durch blau ersetzt wurde

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

Weitere Informationen

Bitmap

Farbe

Coloradjusttype

Colormap

Bild

ImageAttributes

ImageAttributes::ClearRemapTable

Metafile

Neueinfärbung