Metodo Graphics::SetCompositingMode (gdiplusgraphics.h)
Il metodo Graphics::SetCompositingMode imposta la modalità di composizione di questo oggetto Graphics .
Sintassi
Status SetCompositingMode(
[in] CompositingMode compositingMode
);
Parametri
[in] compositingMode
Tipo: CompositingMode
Elemento dell'enumerazione CompositingMode che specifica la modalità di composizione.
Valore restituito
Tipo: Stato
Se il metodo ha esito positivo, restituisce Ok, che è un elemento dell'enumerazione Status .
Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .
Commenti
Si supponga di creare un oggetto SolidBrush basato su un colore con 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 un colore di pennello del 75% e il colore di sfondo del 25%. Se la modalità di composizione dell'oggetto Graphics è impostata su CompositingModeSourceCopy, il colore di sfondo non viene combinato con il colore del pennello. Tuttavia, il colore sottoposto a rendering dal pennello ha un'intensità del 75% di ciò che sarebbe se il componente alfa fosse 255.
Non è possibile usare CompositingModeSourceCopy insieme a TextRenderingHintClearTypeGridFit.
Esempio
Nell'esempio seguente viene creato un oggetto Graphics e viene impostata la modalità di composizione su CompositingModeSourceOver. Il codice crea un oggetto SolidBrush basato su un colore con un componente alfa pari a 128. Il codice passa l'indirizzo del pennello al metodo Graphics::FillRectangle dell'oggetto Graphics per riempire un rettangolo con un colore che rappresenta una fusione metà e metà del colore del pennello e del colore di sfondo. Il codice imposta quindi la modalità di composizione dell'oggetto Graphics su CompositingModeSourceCopy e riempie un secondo rettangolo con lo stesso pennello. In quel secondo rettangolo, il colore del pennello non viene combinato con il colore di sfondo.
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);
}
Requisiti
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
Graphics::GetCompositingQuality
Graphics::SetCompositingQuality