Graphics::SetCompositingMode, méthode (gdiplusgraphics.h)
La méthode Graphics::SetCompositingMode définit le mode de composition de cet objet Graphics .
Syntaxe
Status SetCompositingMode(
[in] CompositingMode compositingMode
);
Paramètres
[in] compositingMode
Type : CompositingMode
Élément de l’énumération CompositingMode qui spécifie le mode de composition.
Valeur retournée
Type : État
Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .
Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .
Notes
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.
Vous ne pouvez pas utiliser CompositingModeSourceCopy avec TextRenderingHintClearTypeGridFit.
Exemples
L’exemple suivant crée un objet Graphics et définit son mode de composition sur CompositingModeSourceOver. Le code crée un objet SolidBrush basé sur une couleur qui a un composant alpha de 128. Le code passe l’adresse de ce pinceau à la méthode Graphics::FillRectangle de l’objet Graphics pour remplir un rectangle avec une couleur qui est un mélange de moitié et demi de la couleur du pinceau et de la couleur d’arrière-plan. Ensuite, le code définit le mode de composition de l’objet Graphics sur CompositingModeSourceCopy et remplit un deuxième rectangle avec le même pinceau. Dans ce deuxième rectangle, la couleur du pinceau n’est pas fusionnée avec la couleur d’arrière-plan.
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);
}
Spécifications
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
Graphics::GetCompositingQuality
Graphics::SetCompositingQuality