Maison > développement back-end > C++ > Comment fusionner sans effort deux images en C#/.NET ?

Comment fusionner sans effort deux images en C#/.NET ?

Linda Hamilton
Libérer: 2025-01-04 20:18:42
original
974 Les gens l'ont consulté

How to Effortlessly Merge Two Images in C#/.NET?

Fusionner deux images sans effort en C#/.NET

Arrière-plan :

Imaginez la fusion de deux images : une s'étendant sur 500 x 500 pixels avec un centre transparent et l'autre mesurant 150x150 pixels. L'objectif est de créer une toile de 500 x 500, de positionner la plus petite image en son milieu et de superposer la plus grande image de telle sorte que la zone transparente révèle l'image sous-jacente. Cette tâche apparemment simple peut nécessiter quelques conseils en C#.

Solution :

C# fournit des classes et des méthodes polyvalentes pour la manipulation d'images. Pour fusionner deux images, nous procédons aux étapes suivantes :

  1. Instancier les objets nécessaires à partir de l'espace de noms System.Drawing : Image, Bitmap et Graphics.
  2. Définir les propriétés de l'image ( largeur, hauteur, chemins source).
  3. Récupérez les images à l'aide de Image.FromFile() méthode.
  4. Créez un Bitmap représentant le canevas en utilisant la largeur et la hauteur désignées.
  5. Acquérez un objet graphique à partir du Bitmap.
  6. Définissez le mode d'interpolation graphique pour garantir une haute luminosité. rendu d'image de qualité.
  7. Dessinez l'image plus grande sur la toile en précisant la destination et la source rectangles.
  8. Dessinez l'image plus petite à la position souhaitée dans le canevas.
  9. Enregistrez l'image fusionnée à l'aide de la méthode Bitmap.Save().

Exemple de code :

L'extrait de code C# suivant illustre la fusion d'images processus :

using System.Drawing;

Image playbutton, frame;
try
{
    playbutton = Image.FromFile(/*larger image path*/);
    frame = Image.FromFile(/*smaller image path*/);
}
catch (Exception ex)
{
    return;
}

using (frame)
{
    using (var bitmap = new Bitmap(width, height))
    {
        using (var canvas = Graphics.FromImage(bitmap))
        {
            canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
            canvas.DrawImage(frame, new Rectangle(0, 0, width, height), new Rectangle(0, 0, frame.Width, frame.Height), GraphicsUnit.Pixel);
            canvas.DrawImage(playbutton, (bitmap.Width / 2) - (playbutton.Width / 2), (bitmap.Height / 2) - (playbutton.Height / 2));
            canvas.Save();
        }
        try
        {
            bitmap.Save(/*merged image path*/, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
        catch (Exception ex) { }
    }
}
Copier après la connexion

En employant cette approche, vous pouvez fusionner de manière transparente deux images en C#/.NET, vous permettant ainsi de créer des compositions visuellement époustouflantes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal