این مبحث نحوه ادغام photos در C# را پوشش میدهد. این شامل پیکربندی محیط، فرآیند گام به گام، و یک قطعه کد قابل اجرا برای توسعه وصل کننده عکس در C# است. شما می توانید این اطلاعات را برای کار با این ویژگی در هر یک از محیط های پشتیبانی شده از دات نت در سیستم عامل های مختلف اعمال کنید.
مراحل ادغام عکس ها در سی شارپ
- با استفاده از افزونه مدیریت بسته NuGet، محیطی را برای کار با Aspose.Imaging for .NET تنظیم کنید
- لیستی از تصاویر ایجاد کنید و اندازه تصویر حاصل را بدست آورید
- تصاویر را در یک عکس جدید ترکیب کنید و یک منبع خروجی ایجاد کنید
- با استفاده از شی کلاس JpegOptions ویژگی های مختلف را تنظیم کنید
- تصویر ادغام شده را با استفاده از کلاس JpegImage صادر کنید
این مراحل کل فرآیند ترکیب عکس ها در 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"); | |
} | |
} |
این قطعه کد برای توسعه تصویر ترکیبی در سی شارپ کافی است. با کلاس JpegImage برای ایجاد تصویر خروجی در حین محاسبه ابعاد تصویر تصاویر منبع کار می کند. سپس اقدام به ایجاد یک مستطیل و ذخیره تصویر خروجی ادغام شده با استفاده از روش Save می کند. علاوه بر این، می توانید چندین ویژگی تصویر خروجی را با کلاس JpegOptions مانند نوع فشرده سازی، کیفیت، نوع رنگ، واحد وضوح و غیره بر اساس نیاز خود سفارشی کنید.
در این مقاله با فرآیند انجام ادغام تصاویر در سی شارپ آشنا شدیم. اگر می خواهید یک تصویر را بچرخانید، مقاله را در نحوه چرخش تصویر در سی شارپ بخوانید.