يغطي هذا الموضوع كيفية دمج photos في C#. وهو يشمل تكوين البيئة، والعملية خطوة بخطوة، ومقتطف تعليمات برمجية قابل للتشغيل لتطوير أداة ربط الصور في C#. يمكنك تطبيق هذه المعلومات للعمل مع هذه الميزة في أي من البيئات المدعومة بـ .NET في أنظمة تشغيل مختلفة.
خطوات دمج الصور في C#
- قم بإعداد البيئة للعمل مع Aspose.Imaging for .NET باستخدام البرنامج المساعد NuGet package manager
- أنشئ قائمة بالصور واحصل على حجم الصورة الناتجة
- دمج الصور في صورة جديدة وإنشاء مصدر إخراج
- قم بتعيين خصائص مختلفة باستخدام كائن الفئة 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#.