Condividi tramite


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

CompositingMode

Grafica

Graphics::GetCompositingMode

Graphics::GetCompositingQuality

Graphics::SetCompositingQuality

Graphics::SetTextRenderingHint

HatchBrush

Nuove funzionalità

Solidbrush

TextRenderingHint