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

Grafiken

Graphics::GetCompositingQuality

Graphics::SetCompositingMode

Graphics::SetCompositingQuality

Hatchbrush

Neue Funktionen

Solidbrush

Verwenden des Compositing-Modus zum Steuern der Alphamischung