Maison > développement back-end > C++ > Comment combiner de manière transparente des images en C#/.NET ?

Comment combiner de manière transparente des images en C#/.NET ?

DDD
Libérer: 2025-01-04 10:31:35
original
819 Les gens l'ont consulté

How to Seamlessly Combine Images in C#/.NET?

Combiner des images de manière transparente en C#/.NET

Améliorer une image ou créer une composition visuellement attrayante implique souvent la fusion d'images distinctes. En C#, ce processus est simple, utilisant les classes et objets puissants disponibles dans le .NET Framework.

Considérez la tâche consistant à fusionner deux images : une image transparente de 500 x 500 et une image de 150 x 150. L'objectif est de créer une nouvelle image où la section transparente de l'image plus grande permet à l'image plus petite d'apparaître en dessous.

Pour y parvenir en C#, suivez les étapes suivantes :

  1. Charger les images : Chargez les deux images dans leurs objets Image correspondants à l'aide de la méthode Image.FromFile().
  2. Créer un canevas vierge : Créez un nouvel objet Bitmap avec la taille souhaitée (500 x 500) pour servir de canevas pour l'image fusionnée.
  3. Dessinez l'image plus grande : À l'aide des graphiques. Méthode FromImage(), créez un objet Graphics associé au canevas. Dessinez la plus grande image (500 x 500) sur le canevas à l'aide de la méthode DrawImage().
  4. Dessinez la plus petite image : Positionnez la plus petite image (150 x 150) au centre du canevas à l'aide de l'outil fourni. Mode d'interpolation pour la qualité. Utilisez la méthode DrawImage() pour dessiner la plus petite image sur la toile à l'emplacement souhaité.
  5. Enregistrez l'image fusionnée : Une fois les deux images dessinées sur la toile, enregistrez l'image résultante. à l'emplacement de fichier souhaité à l'aide de la méthode Save().

Voici un exemple de code qui illustre la fusion processus :

Image playbutton, frame;

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

using (frame)
{
    using (var bitmap = new Bitmap(500, 500))
    {
        using (var canvas = Graphics.FromImage(bitmap))
        {
            // set desired interpolation mode
            canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;

            canvas.DrawImage(frame, 0, 0, frame.Width, frame.Height);

            canvas.DrawImage(playbutton, (bitmap.Width / 2) - (playbutton.Width / 2), (bitmap.Height / 2) - (playbutton.Height / 2));
        }

        try
        {
            bitmap.Save(/*desired save path*/, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
        catch (Exception ex) { } // handle exceptions gracefully
    }
}
Copier après la connexion

En suivant ces étapes et en utilisant l'exemple de code fourni, vous pouvez facilement fusionner des images en C#/.NET, vous permettant ainsi de créer des compositions visuellement attrayantes.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal