ImageAttributes::SetThreshold-Methode (gdiplusimageattributes.h)

Die ImageAttributes::SetThreshold-Methode legt den Schwellenwert (Transparenzbereich) für eine angegebene Kategorie fest.

Syntax

Status SetThreshold(
  [in]           REAL            threshold,
  [in, optional] ColorAdjustType type
);

Parameter

[in] threshold

Typ: REAL

REALe Zahl, die den Schwellenwert angibt.

[in, optional] type

Typ: ColorAdjustType

Element der ColorAdjustType-Enumeration , das die Kategorie angibt, für die der Farbschwellenwert 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, gibt sie eines der anderen Elemente der Status-Enumeration zurück.

Hinweise

Der Schwellenwert ist ein Wert von 0 bis 1, der einen Cutoff-Punkt für jede Farbkomponente angibt. Angenommen, der Schwellenwert ist auf 0,7 festgelegt, und angenommen, Sie rendern eine Farbe, deren rote, grüne und blaue Komponenten 230, 50 und 220 sind. Die rote Komponente 230 ist größer als 0,7×255, sodass die rote Komponente in 255 (volle Intensität) geändert wird. Die grüne Komponente 50 ist kleiner als 0,7×255, sodass die grüne Komponente in 0 geändert wird. Die blaue Komponente 220 ist größer als 0,7×255, sodass die blaue Komponente in 255 geändert wird.

Ein ImageAttributes-Objekt verwaltet Farb- und Graustufeneinstellungen für fünf Anpassungskategorien: Standard, Bitmap, Pinsel, Stift und Text. Sie können beispielsweise einen Schwellenwert für die Standardkategorie, einen Schwellenwert für die Bitmapkategorie und weiterhin einen anderen Schwellenwert 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 Einstellung zur Farb- oder Graustufenanpassung 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 den Schwellenwert für die Stiftkategorie festlegen, indem Sie ColorAdjustTypePen an die ImageAttributes::SetThreshold-Methode übergeben, gelten keine der Standardeinstellungseinstellungen für Stifte.

Beispiele

Im folgenden Beispiel wird ein Image-Objekt basierend auf einer .bmp-Datei erstellt. Der Code erstellt auch ein ImageAttributes-Objekt und legt seinen Bitmap-Schwellenwert auf 0,6 fest. Dann zeichnet der Code das Bild zweimal: einmal ohne Farbanpassung und einmal mit der durch den Schwellenwert angegebenen Anpassung.


VOID Example_SetThreshold(HDC hdc)
{
   Graphics graphics(hdc);

   // Create an Image object based on a .bmp file.
   // The image has one stripe with RGB components (160, 0, 0)
   // and one stripe with RGB components (0, 140, 0).
   Image image(L"RedGreenThreshold.bmp");

   // Create an ImageAttributes object, and set its bitmap threshold to 0.6.
   ImageAttributes imAtt;
   imAtt.SetThreshold(0.6f, ColorAdjustTypeBitmap);

   // Draw the image with no color adjustment.
   graphics.DrawImage(&image, 10, 10, image.GetWidth(), image.GetHeight());
 
   // Draw the image with the threshold applied.
   // 160 > 0.6*255, so the red stripe will be changed to full intensity.
   // 140 < 0.6*255, so the green stripe will be changed to zero intensity.   
   graphics.DrawImage(&image,
      Rect(100, 10, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),           // source rect
      UnitPixel,
      &imAtt);
}
				

Die folgende Abbildung zeigt die Ausgabe des vorherigen Codes. Beachten Sie, dass das Rot in die maximale Intensität und das Grüne in null Umgewandelt wurde.

Abbildung eines Rechtecks mit markigen und grünen Regionen, dann das gleiche Rechteck, aber rot und schwarz gerendert

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

Bild

ImageAttributes

ImageAttributes::ClearColorKey

ImageAttributes::ClearThreshold

ImageAttributes::SetColorKey

Metafile

Neueinfärbung