Πώς να συγχωνεύσετε φωτογραφίες σε C#

Αυτό το θέμα καλύπτει πώς να συγχωνεύσετε το photos σε C#. Περιλαμβάνει τη διαμόρφωση περιβάλλοντος, τη διαδικασία βήμα προς βήμα και ένα απόσπασμα κώδικα με δυνατότητα εκτέλεσης για την ανάπτυξη ενός φωτογραφιών σε C#. Μπορείτε να εφαρμόσετε αυτές τις πληροφορίες για να εργαστείτε με αυτήν τη δυνατότητα σε οποιοδήποτε από τα περιβάλλοντα που υποστηρίζονται από .NET σε διαφορετικά λειτουργικά συστήματα.

Βήματα για τη συγχώνευση φωτογραφιών στο C#

  1. Ρυθμίστε το περιβάλλον για να λειτουργεί με το Aspose.Imaging for .NET χρησιμοποιώντας την προσθήκη διαχείρισης πακέτων NuGet
  2. Δημιουργήστε μια λίστα εικόνων και λάβετε το μέγεθος της εικόνας που προκύπτει
  3. Συνδυάστε εικόνες σε μια νέα και δημιουργήστε μια πηγή εξόδου
  4. Ορίστε διαφορετικές ιδιότητες χρησιμοποιώντας το αντικείμενο κλάσης JpegOptions
  5. Εξάγετε τη συγχωνευμένη εικόνα χρησιμοποιώντας την κλάση JpegImage

Αυτά τα βήματα συνοψίζουν την όλη διαδικασία για συνδυασμό φωτογραφιών σε C#. Πρώτα απ ‘όλα, δημιουργήστε μια λίστα με πολλές εικόνες που θα συγχωνευθούν σε μία φωτογραφία. Κατά συνέπεια, δημιουργήστε μια νέα εικόνα και αποδώστε την στην εικόνα εξόδου πριν την αποθηκεύσετε στο δίσκο ή σε μια ροή ανάλογα με τις ανάγκες σας.

Κώδικας για συγχώνευση φωτογραφιών σε C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.Sources;
class Program
{
static void Main(string[] args) // Merge images into one image in C#
{
// Set PDF license
new Aspose.Imaging.License().SetLicense("License.lic");
// Create a list of images
string[] imagePaths = { "picture1.jpg", "picture2.jpg", "picture3.jpg" };
// Get resulting image's size
List<Aspose.Imaging.Size> imageSizes = new List<Aspose.Imaging.Size>();
foreach (string imagePath in imagePaths)
{
using (RasterImage image = (RasterImage)Aspose.Imaging.Image.Load(imagePath))
{
imageSizes.Add(image.Size);
}
}
int newWidth = imageSizes.Max(size => size.Width);
int newHeight = imageSizes.Sum(size => size.Height);
// Combine images into new one
using (MemoryStream memoryStream = new MemoryStream())
{
// Create output source
StreamSource outputStreamSource = new StreamSource(memoryStream);
// Create jpeg options
JpegOptions options = new JpegOptions()
{ Quality = 100, Source = outputStreamSource };
// Create output image
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage newImage =
(Aspose.Imaging.FileFormats.Jpeg.JpegImage)Aspose.Imaging.Image.Create(options, newWidth, newHeight))
{
int stitchedHeight = 0;
// Merge images
foreach (string imagePath in imagePaths)
{
using (RasterImage image = (RasterImage)Aspose.Imaging.Image.Load(imagePath))
{
Aspose.Imaging.Rectangle bounds = new Aspose.Imaging.Rectangle(0, stitchedHeight, image.Width, image.Height);
newImage.SaveArgb32Pixels(bounds, image.LoadArgb32Pixels(image.Bounds));
stitchedHeight += image.Height;
}
}
// Save the merged image
newImage.Save("merged-image.jpg");
}
}
System.Console.WriteLine("Done");
}
}

Αυτό το απόσπασμα κώδικα είναι αρκετό για την ανάπτυξη ενός συνδυαστή εικόνας στη C#. Λειτουργεί με την κλάση JpegImage για τη δημιουργία της εικόνας εξόδου κατά τον υπολογισμό των διαστάσεων της εικόνας των εικόνων προέλευσης. Στη συνέχεια, προχωρά στη δημιουργία ενός ορθογωνίου και αποθήκευση της συγχωνευμένης εικόνας εξόδου χρησιμοποιώντας τη μέθοδο Save. Επιπλέον, μπορείτε να προσαρμόσετε διάφορες ιδιότητες της εικόνας εξόδου με την κλάση JpegOptions, όπως τον τύπο συμπίεσης, την ποιότητα, τον τύπο χρώματος, τη μονάδα ανάλυσης κ.λπ. σύμφωνα με τις απαιτήσεις σας.

Σε αυτό το άρθρο, μάθαμε τη διαδικασία εκτέλεσης συγχώνευση εικόνων σε C#. Εάν θέλετε να περιστρέψετε μια εικόνα, διαβάστε το άρθρο στο πώς να περιστρέψετε μια εικόνα σε C#.

 Ελληνικά