Mélange Alpha en C#

L’infographie, en particulier dans les jeux, nécessite une grande attention aux détails. Chaque pixel compte et il ne devrait pas y avoir d’effets visuels discordants. C’est là que le mélange alpha entre en jeu. Presque tous les moteurs graphiques utilisent aujourd’hui une forme de mélange alpha afin de créer des visuels plus réalistes. Pour des transitions fluides entre les deux objets, les couleurs respectives des deux objets sont combinées et partiellement superposées. Dans cet article, nous allons apprendre à implémenter le mélange alpha en C#.

Les sujets suivants seront traités dans cet article :

  1. Qu’est-ce que le mélange alpha
  2. API de mélange Alpha C#
  3. Comment mettre en œuvre Alpha Blending
  4. Modes composites dans Alpha Blending

Qu’est-ce que le mélange alpha ?

Le mélange alpha est une technique permettant de combiner deux couleurs différentes, ou niveaux de transparence, en utilisant l’opacité de chaque couleur pour en produire une troisième. Il permet des transitions progressives et mélange les couleurs de vos images. Le mélange alpha est souvent utilisé pour les effets d’arrière-plan et de transparence.

En infographie, le mélange alpha est le processus de combinaison de deux images pour qu’elles apparaissent comme une seule. Le résultat est une image unique où certaines zones apparaissent transparentes. L’algorithme fonctionne en calculant la quantité de transparence entre les couleurs à deux pixels. Il mélange deux images sans toucher aucun pixel.

API C# Alpha Blending - Téléchargement gratuit

Pour implémenter le mélange alpha en C#, nous utiliserons l’API Aspose.Drawing for .NET. Il s’agit d’une bibliothèque graphique 2D multiplateforme permettant de dessiner du texte, des géométries et des images par programmation. Il permet de charger, d’enregistrer et de manipuler les formats de fichiers pris en charge.

Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Drawing

Implémenter Alpha Blending à l’aide de C#

La méthode la plus courante pour implémenter la fusion Alpha en C# consiste à utiliser la méthode Color.FromArgb(). Nous pouvons implémenter le mélange alpha par programmation en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe Bitmap.
  2. Créez ensuite l’objet de classe Graphics à l’aide de la méthode Color.FromArgb() avec le paramètre de canal alpha.
  3. Ensuite, définissez un objet de classe SolidBrush avec la couleur et la taille spécifiées.
  4. Après cela, appelez la méthode FillEllipse() pour dessiner une ellipse remplie.
  5. Répétez les étapes ci-dessus pour ajouter plus d’ellipses superposées remplies avec des couleurs différentes pour générer de nouvelles couleurs.
  6. Enfin, enregistrez l’image de sortie à l’aide de la méthode Save().

L’exemple de code suivant montre comment implémenter la fusion alpha en C#.

// Cet exemple de code montre comment implémenter la fusion alpha en C#.
// Créer une image bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Initialiser les graphiques
Graphics graphics = Graphics.FromImage(bitmap);

// Définir le pinceau de couleur
var solidBrush1 = new SolidBrush(Color.FromArgb(128, 255, 0, 0));
var solidBrush2 = new SolidBrush(Color.FromArgb(128, 0, 255, 0));
var solidBrush3 = new SolidBrush(Color.FromArgb(128, 0, 0, 255));

// Dessiner des ellipses
graphics.FillEllipse(solidBrush1, 300, 100, 400, 400);
graphics.FillEllipse(solidBrush2, 200, 300, 400, 400);
graphics.FillEllipse(solidBrush3, 400, 300, 400, 400);

// Enregistrer le bitmap
bitmap.Save(@"C:\Files\AlphaBlending.png");
Implémenter Alpha Blending à l'aide de C#

Implémenter Alpha Blending à l’aide de C#

Modes composites dans Alpha Blending à l’aide de C#

Nous pouvons également utiliser les modes composites pour contrôler le mélange alpha en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe Bitmap.
  2. Créez ensuite l’objet de classe Graphics à l’aide de la méthode Color.FromArgb() avec le paramètre de canal alpha.
  3. Ensuite, définissez un objet de classe SolidBrush avec la couleur et la taille spécifiées.
  4. Ensuite, spécifiez CompositingMode et CompositingQuality pour l’objet Graphics.
  5. Après cela, appelez la méthode FillEllipse() pour dessiner une ellipse remplie.
  6. Répétez les étapes ci-dessus pour ajouter plus d’ellipses superposées remplies avec des couleurs différentes pour générer de nouvelles couleurs.
  7. Enfin, enregistrez l’image de sortie à l’aide de la méthode Save().

L’exemple de code suivant montre comment utiliser le mode composite pour contrôler la fusion alpha en C#.

// Cet exemple de code montre comment implémenter la fusion alpha en C#.
// Créer une image bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Initialiser les graphiques
Graphics graphics = Graphics.FromImage(bitmap);

// Définir le pinceau de couleur
var solidBrush1 = new SolidBrush(Color.FromArgb(128, 255, 0, 0));
var solidBrush2 = new SolidBrush(Color.FromArgb(128, 0, 255, 0));
var solidBrush3 = new SolidBrush(Color.FromArgb(128, 0, 0, 255));

// Définissez le mode de composition pour les ellipses superposées,
// les couleurs des ellipses ne sont pas mélangées.
graphics.CompositingMode = CompositingMode.SourceCopy;

// les couleurs des ellipses sont mélangées les unes aux autres.
//graphics.CompositingMode = CompositingMode.SourceOver ;

// Définissez la qualité de composition de l'objet Graphics.
graphics.CompositingQuality = CompositingQuality.GammaCorrected;

// Dessiner des ellipses
graphics.FillEllipse(solidBrush1, 300, 100, 400, 400);
graphics.FillEllipse(solidBrush2, 200, 300, 400, 400);
graphics.FillEllipse(solidBrush3, 400, 300, 400, 400);

// Enregistrer le bitmap
bitmap.Save(@"C:\Files\AlphaBlending_SourceOver.png");
Mode Compsite SourceCopy dans Alpha Blending à l'aide de C#

Mode Compsite SourceCopy dans Alpha Blending à l’aide de C#

Nous pouvons également utiliser le mode composite SourceOver en utilisant le code suivant à l’étape # 4.

graphics.CompositingMode = CompositingMode.SourceOver;
Mode Compsite SourceOver dans Alpha Blending à l'aide de C#

Mode Compsite SourceOver dans Alpha Blending à l’aide de C#

Obtenez une licence temporaire gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer Aspose.Drawing pour .NET sans limitations d’évaluation.

Conclusion

Dans cet article, nous avons appris à implémenter la technique de mélange alpha par programmation en C#. En outre, vous pouvez en savoir plus sur Aspose.Drawing pour .NET en utilisant documentation et explorer diverses fonctionnalités prises en charge par l’API. En cas d’ambiguïté, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également