Graphics::GetCompositingMode-Methode (gdiplusgraphics.h)
Die Graphics::GetCompositingMode-Methode ruft den derzeit für dieses Graphics-Objekt festgelegten Compositing-Modus ab.
Syntax
CompositingMode GetCompositingMode();
Rückgabewert
Typ: CompositingMode
Diese Methode gibt ein Element der CompositingMode-Enumeration zurück, das den derzeit für dieses Graphics-Objekt festgelegten Compositingmodus angibt.
Hinweise
Angenommen, Sie erstellen ein SolidBrush-Objekt basierend auf einer Farbe mit einer Alphakomponente von 192, die etwa 75 Prozent von 255 beträgt. Wenn der Compositing-Modus für Ihr Graphics-Objekt auf CompositingModeSourceOver festgelegt ist, sind Bereiche, die mit dem Volltonpinsel gefüllt sind, eine Mischung, die eine Pinselfarbe von 75 Prozent und eine Hintergrundfarbe von 25 Prozent aufweist. Wenn der Compositing-Modus für Ihr Graphics-Objekt auf CompositingModeSourceCopy festgelegt ist, wird die Hintergrundfarbe nicht mit der Pinselfarbe gemischt. Die vom Pinsel gerenderte Farbe weist jedoch eine Intensität auf, die 75 Prozent des Werts entspricht, wenn die Alphakomponente 255 wäre.
Beispiele
Im folgenden Beispiel wird ein Graphics-Objekt erstellt und dessen Compositing-Modus auf CompositingModeSourceCopy 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 nicht mit der Hintergrundfarbe gemischt ist. Der Aufruf der Graphics::GetCompositingMode-Methode des Graphics-Objekts veranschaulicht, wie der Compositing-Modus abgerufen wird (der in diesem Fall bereits bekannt ist). Der Code bestimmt, ob der CompositingModeSourceCopy-Modus ist, und ändert ihn in CompositingModeSourceOver. Anschließend ruft der Code Graphics::FillRectangle ein zweites Mal auf, um ein Rechteck mit einer Farbe zu füllen, die eine halbe anderthalb Mischung aus Pinselfarbe und Hintergrundfarbe darstellt.
VOID Example_GetCompositingMode(HDC hdc)
{
Graphics graphics(hdc);
graphics.SetCompositingMode(CompositingModeSourceCopy);
SolidBrush alphaBrush(Color(128, 255, 0, 0));
graphics.FillRectangle(&alphaBrush, 0, 0, 100, 100);
// Get the compositing mode.
CompositingMode compMode = graphics.GetCompositingMode();
// Change the compositing mode if it is CompositingModeSourceCopy.
if(compMode == CompositingModeSourceCopy)
{
graphics.SetCompositingMode(CompositingModeSourceOver);
}
graphics.FillRectangle(&alphaBrush, 0, 100, 100, 100);
}
Anforderungen
Anforderung | Wert |
---|---|
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 |
Weitere Informationen
Alphablending von Linien und Füllungen
Graphics::GetCompositingQuality
Graphics::SetCompositingQuality
Verwenden des Compositing-Modus zum Steuern der Alphamischung