Graphics::SetCompositingMode-Methode (gdiplusgraphics.h)
Die Graphics::SetCompositingMode-Methode legt den Compositing-Modus dieses Graphics-Objekts fest.
Syntax
Status SetCompositingMode(
[in] CompositingMode compositingMode
);
Parameter
[in] compositingMode
Typ: CompositingMode
Element der CompositingMode-Enumeration , die den Compositing-Modus angibt.
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
Angenommen, Sie erstellen ein SolidBrush-Objekt basierend auf einer Farbe mit einer Alphakomponente von 192, die etwa 75 Prozent von 255 ist. Wenn für Ihr Graphics-Objekt der Kompositingmodus compositingModeSourceOver festgelegt ist, sind bereiche, die mit dem Volltonpinsel gefüllt sind, eine Mischung aus 75 % Pinselfarbe und 25 % Hintergrundfarbe. Wenn für Ihr Graphics-Objekt der Compositingmodus auf CompositingModeSourceCopy festgelegt ist, wird die Hintergrundfarbe nicht mit der Pinselfarbe gemischt. Die vom Pinsel gerenderte Farbe weist jedoch eine Intensität von 75 Prozent auf, die bei einer Alphakomponente von 255 entspricht.
Sie können CompositingModeSourceCopy nicht zusammen mit TextRenderingHintClearTypeGridFit verwenden.
Beispiele
Im folgenden Beispiel wird ein Graphics-Objekt erstellt und dessen Compositingmodus auf CompositingModeSourceOver festgelegt. Der Code erstellt ein SolidBrush-Objekt basierend auf einer Farbe mit einer Alphakomponente von 128. Der Code übergibt die Adresse dieses Pinsels an die Graphics::FillRectangle-Methode des Graphics-Objekts , um ein Rechteck mit einer Farbe zu füllen, die eine Halb-und-Halb-Mischung aus Pinselfarbe und Hintergrundfarbe darstellt. Dann legt der Code den Compositing-Modus des Graphics-Objekts auf CompositingModeSourceCopy fest und füllt ein zweites Rechteck mit demselben Pinsel. In diesem zweiten Rechteck wird die Pinselfarbe nicht mit der Hintergrundfarbe gemischt.
VOID Example_SetCompositingMode(HDC hdc)
{
Graphics graphics(hdc);
// Create a SolidBrush object with an alpha-blended color.
SolidBrush alphaBrush(Color(180, 255, 0, 0));
// Set the compositing mode to CompositingModeSourceOver,
// and fill a rectangle.
graphics.SetCompositingMode(CompositingModeSourceOver);
graphics.FillRectangle(&alphaBrush, 0, 0, 100, 100);
// Set the compositing mode to CompositingModeSourceCopy,
// and fill a rectangle.
graphics.SetCompositingMode(CompositingModeSourceCopy);
graphics.FillRectangle(&alphaBrush, 100, 0, 100, 100);
}
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 | gdiplusgraphics.h (include Gdiplus.h) |
Bibliothek | Gdiplus.lib |
DLL | Gdiplus.dll |
Siehe auch
Alphablending von Linien und Füllungen
Graphics::GetCompositingQuality
Graphics::SetCompositingQuality