Partager via


Graphics ::GetCompositingMode, méthode (gdiplusgraphics.h)

La méthode Graphics ::GetCompositingMode obtient le mode de composition actuellement défini pour cet objet Graphics .

Syntaxe

CompositingMode GetCompositingMode();

Valeur de retour

Type : CompositingMode

Cette méthode retourne un élément de l’énumération CompositingMode qui indique le mode de composition actuellement défini pour cet objet Graphics .

Remarques

Supposons que vous créez un objet SolidBrush basé sur une couleur qui a un composant alpha de 192, soit environ 75 % de 255. Si votre objet Graphics a son mode de composition défini sur CompositingModeSourceOver, les zones remplies avec le pinceau unie sont un mélange qui est de 75 % de couleur de pinceau et de 25 % de couleur d’arrière-plan. Si votre objet Graphics a son mode de composition défini sur CompositingModeSourceCopy, la couleur d’arrière-plan n’est pas fusionnée avec la couleur du pinceau. Toutefois, la couleur rendue par le pinceau a une intensité de 75 % de ce qu’elle serait si le composant alpha était 255.

Exemples

L’exemple suivant crée un objet Graphics et définit son mode de composition sur CompositingModeSourceCopy. Le code crée un objet SolidBrush basé sur une couleur avec un composant alpha de 128. Le code transmet l’adresse de ce pinceau à la méthode Graphics ::FillRectangle de l’objet Graphics pour remplir un rectangle avec une couleur qui n’est pas fusionnée avec la couleur d’arrière-plan. L’appel à la méthode Graphics ::GetCompositingMode de l’objet Graphics montre comment obtenir le mode de composition (qui est déjà connu dans ce cas). Le code détermine si le mode de composition est CompositingModeSourceCopy et, le cas échéant, le remplace par CompositingModeSourceOver. Ensuite, le code appelle Graphics ::FillRectangle une deuxième fois pour remplir un rectangle avec une couleur qui est un mélange moitié-moitié de la couleur du pinceau et de la couleur d’arrière-plan.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP, Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête gdiplusgraphics.h (include Gdiplus.h)
Bibliothèque Gdiplus.lib
DLL Gdiplus.dll

Voir aussi

Fusion alpha de lignes et de remplissages

Graphismes

Graphics ::GetCompositingQuality

Graphics ::SetCompositingMode

Graphics ::SetCompositingQuality

HatchBrush

Nouvelles fonctionnalités

SolidBrush

Utilisation du mode de composition pour contrôler la fusion alpha