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::GetCompositingQuality
Grafica::SetCompositingQuality
Uso della modalità di composizione per controllare la fusione alfa