Bilder in C#/. Net: Ein umfassender Anleitung
Einführung
Erstellen von Erbissen von Visuellen, indem Sie mehrere Bilder kombinieren, ist eine übliche Aufgabe. In C#/. NET beinhaltet dieser Verschmelzungsprozess die Verwendung der leistungsstarken Grafik -API und der zugehörigen Klassen.
Problemanweisung
Angenommen, Sie haben zwei Bilder: ein transparentes 500x500 -Bild (imagea) und ein 150x150 -Bild (Bildb). Ihr Ziel ist es, diese Bilder zusammenzuführen und ImageB in der Mitte der Imagesa zu positionieren und gleichzeitig die Transparenz der mittleren Region von Imagiena zu erhalten. Anschließend zeichnen Sie ImageB auf die Leinwand und richten es zentral aus. Schließlich zeichnen Sie Imagesa über die Leinwand und erlauben dem transparenten Zentrum, ImageB zu enthüllen.
Implementierung
Das folgende c# Code liefert eine detaillierte Implementierung dieses Verschmelzungsprozesses:
mit System.drawing; Namespace Imagemerger { öffentliches statisches Klassenprogramm { öffentliche statische Leere Main (String [] Args) { // die Bilder laden Bild imagea = image.fromFile ("Pfad/to/imagea.png"); Bild imageb = image.fromFile ("Pfad/to/imageB.png"); // Erstellen Sie eine leere Leinwand int width = imagea.width; int height = imagea.height; Verwenden Sie (var bitmap = new Bitmap (Breite, Höhe)) { // Zeichnen Sie das Basisbild auf die Leinwand Verwenden Sie (var canvas = graphics.fromimage (bitmap)) { Canvas.InterpolationMode = InterpolationMode.HighityBicubic; canvas.drawimage (Imagea, neues Rechteck (0,0, Breite, Höhe), neues Rechteck (0,0, Imagea.Width, Imagea.Height), GraphicsUnit.pixel); // Berechnen Sie die Position des Overlay -Bildes int x = (width - imageb.width) / 2; int y = (Höhe - ImageB.Height) / 2; // Zeichnen Sie das Overlay -Bild auf die Leinwand canvas.drawimage (ImageB, x, y); } // Speichern Sie das fusionierte Bild in einer Datei bitmap.save ("path/to/mergedimage.png", ImageFormat.png); } } } } In diesem Code bietet die Grafikklasse die erforderlichen Methoden zum Zeichnen der Bilder auf die Leinwand. Die InterpolationMode-Eigenschaft sorgt für eine qualitativ hochwertige Bildressampling bei der Skalierung der Bilder. Die Bitmap -Klasse verringert die Leinwand und ermöglicht es Ihnen, das fusionierte Bild in einer Datei zu speichern.
schlussfolgerung
using System.Drawing; namespace ImageMerger { public static class Program { public static void Main(string[] args) { // Load the images Image imageA = Image.FromFile("path/to/imageA.png"); Image imageB = Image.FromFile("path/to/imageB.png"); // Create an empty canvas int width = imageA.Width; int height = imageA.Height; using (var bitmap = new Bitmap(width, height)) { // Draw the base image onto the canvas using (var canvas = Graphics.FromImage(bitmap)) { canvas.InterpolationMode = InterpolationMode.HighQualityBicubic; canvas.DrawImage(imageA,new Rectangle(0,0,width,height),new Rectangle(0,0,imageA.Width,imageA.Height),GraphicsUnit.Pixel); // Calculate the position of the overlay image int x = (width - imageB.Width) / 2; int y = (height - imageB.Height) / 2; // Draw the overlay image onto the canvas canvas.DrawImage(imageB, x, y); } // Save the merged image to a file bitmap.Save("path/to/mergedImage.png", ImageFormat.Png); } } } }
, indem Sie die Grafik -API und ihre zugehörigen Klassen verwenden und Bilder in C#/. Netz zu einer einfachen Aufgabe wird. Der in diesem Artikel bereitgestellte Code-Snippet zeigt, wie man transparente und nicht transparente Bilder effektiv kombiniert und dynamische und ansprechende Bilder für verschiedene Anwendungen erstellt.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3