Fényképek egyesítése C#-ban

Ez a témakör a photos egyesítésével foglalkozik a C#-ban. Tartalmazza a környezetkonfigurációt, a lépésről lépésre történő folyamatot és egy futtatható kódrészletet a fotó-illesztőprogram fejlesztéséhez C#-ban. Ezt az információt alkalmazhatja a szolgáltatás használatához a különböző operációs rendszerek bármelyik .NET által támogatott környezetben.

A fényképek egyesítésének lépései C#-ban

  1. A NuGet csomagkezelő beépülő modul segítségével állítsa be a környezetet a Aspose.Imaging for .NET használatára
  2. Hozzon létre egy listát a képekről, és kapja meg a kapott kép méretét
  3. Kombinálja a képeket egy új képpé, és hozzon létre egy kimeneti forrást
  4. Állítson be különböző tulajdonságokat a JpegOptions osztályobjektum segítségével
  5. Exportálja az egyesített képet a JpegImage osztály használatával

Ezek a lépések összefoglalják a fotók C#-ban való kombinálásának folyamatát. Először is hozzon létre egy listát több képből, amelyeket egy fényképbe kell egyesíteni. Következésképpen hozzon létre egy új képet, és jelenítse meg a kimeneti képen, mielőtt elmenti a lemezre vagy egy adatfolyamba, az igényeinek megfelelően.

Kód a fotók egyesítéséhez C#-ban

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");
}
}

Ez a kódrészlet elegendő egy image kombináló létrehozásához C# nyelven. A JpegImage osztállyal együttműködve létrehozza a kimeneti képet, miközben kiszámítja a forrásképek képméreteit. Ezután létrehoz egy téglalapot, és elmenti az egyesített kimeneti képet a Mentés módszerrel. Ezenkívül a kimeneti kép számos tulajdonságát testreszabhatja a JpegOptions osztállyal, mint például a tömörítés típusa, minősége, színtípusa, felbontási egysége stb.

Ebben a cikkben megtanultuk a image merge C# nyelven történő végrehajtásának folyamatát. Ha el szeretne forgatni egy képet, olvassa el a cikket a hogyan kell elforgatni egy képet C#-ban oldalon.

 Magyar