Share via


Metodo Graphics::GetCompositingMode (gdiplusgraphics.h)

Il metodo Graphics::GetCompositingMode ottiene la modalità di composizione attualmente impostata per questo oggetto Graphics .

Sintassi

CompositingMode GetCompositingMode();

Valore restituito

Tipo: CompositingMode

Questo metodo restituisce un elemento dell'enumerazione CompositingMode che indica la modalità di composizione attualmente impostata per questo oggetto Graphics .

Commenti

Si supponga di creare un oggetto SolidBrush basato su un colore che ha un componente alfa del 192, che è circa il 75% del 255. Se l'oggetto Graphics ha la modalità di composizione impostata su CompositingModeSourceOver, le aree riempite con il pennello a tinta unita sono una miscela che rappresenta il colore del pennello del 75% e il colore di sfondo del 25%. Se l'oggetto Graphics ha la modalità di composizione impostata su CompositingModeSourceCopy, il colore di sfondo non viene unito al colore del pennello. Tuttavia, il colore eseguito dal pennello ha un'intensità del 75% di ciò che sarebbe se il componente alfa fosse 255.

Esempio

Nell'esempio seguente viene creato un oggetto Graphics e viene impostata la modalità di composizione su CompositingModeSourceCopy. Il codice crea un oggetto SolidBrush basato su un colore con un componente alfa di 128. Il codice passa l'indirizzo di quel pennello al metodo Graphics::FillRectangle dell'oggetto Graphics per riempire un rettangolo con un colore non unito al colore di sfondo. La chiamata al metodo Graphics::GetCompositingMode dell'oggetto Graphics illustra come ottenere la modalità di composizione (che è già nota in questo caso). Il codice determina se la modalità di composizione è CompositingModeSourceCopy e, in tal caso, la modifica in CompositingModeSourceOver. Il codice chiama quindi Graphics::FillRectangle una seconda volta per riempire un rettangolo con un colore che è una fusione metà e metà del colore del pennello e del colore di sfondo.

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);
}

Requisiti

Requisito Valore
Client minimo supportato Windows XP, Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione gdiplusgraphics.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

Linee e riempimenti con fusione alfa

Grafica

Grafica::GetCompositingQuality

Grafica::SetCompositingMode

Grafica::SetCompositingQuality

HatchBrush

Nuove funzionalità

Solidbrush

Uso della modalità di composizione per controllare la fusione alfa