Тази тема обхваща как да обедините photos в C#. Той включва конфигурацията на средата, процеса стъпка по стъпка и изпълняваем кодов фрагмент за разработване на съединител на снимки в C#. Можете да приложите тази информация, за да работите с тази функция във всяка от поддържаните от .NET среди в различни операционни системи.
Стъпки за обединяване на снимки в C#
- Настройте средата да работи с Aspose.Imaging for .NET с помощта на приставката за управление на пакети NuGet
- Създайте списък с изображения и вземете размера на полученото изображение
- Комбинирайте изображения в ново и създайте изходен източник
- Задайте различни свойства, като използвате обекта на класа JpegOptions
- Експортирайте обединеното изображение с помощта на класа 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, за да създаде изходното изображение, докато изчислява размерите на изображението на изходните изображения. След това се създава правоъгълник и се запазва обединеното изходно изображение с помощта на метода Запазване. Освен това можете да персонализирате няколко свойства на изходното изображение с класа JpegOptions като тип компресия, качество, тип цвят, разделителна способност и т.н. според вашите изисквания.
В тази статия научихме процеса на извършване на обединяване на изображения в C#. Ако искате да завъртите изображение, прочетете статията на как да завъртите изображение в C#.