Topik ini membahas cara menggabungkan photos di C#. Ini mencakup konfigurasi lingkungan, proses langkah demi langkah, dan cuplikan kode yang dapat dijalankan untuk mengembangkan penggabung foto di C#. Anda dapat menerapkan informasi ini untuk bekerja dengan fitur ini di lingkungan mana pun yang didukung .NET di sistem operasi berbeda.
Langkah-langkah Menggabungkan Foto di C#
- Siapkan lingkungan agar berfungsi dengan Aspose.Imaging for .NET menggunakan plugin manajer paket NuGet
- Buat daftar gambar dan dapatkan ukuran gambar yang dihasilkan
- Gabungkan gambar menjadi gambar baru dan buat sumber keluaran
- Tetapkan properti yang berbeda menggunakan objek kelas JpegOptions
- Ekspor gambar gabungan menggunakan kelas JpegImage
Langkah-langkah ini merangkum seluruh proses untuk menggabungkan foto di C#. Pertama-tama, buat daftar beberapa gambar untuk digabungkan menjadi satu foto. Akibatnya, buat gambar baru dan render ke gambar keluaran sebelum menyimpannya ke disk atau aliran tergantung kebutuhan Anda.
Kode untuk Menggabungkan Foto di 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"); | |
} | |
} |
Cuplikan kode ini cukup untuk mengembangkan penggabung gambar di C#. Ia bekerja dengan kelas JpegImage untuk membuat gambar keluaran sambil menghitung dimensi gambar dari gambar sumber. Kemudian dilanjutkan dengan membuat persegi panjang dan menyimpan gambar keluaran gabungan menggunakan metode Simpan. Selanjutnya, Anda dapat menyesuaikan beberapa properti gambar keluaran dengan kelas JpegOptions seperti jenis kompresi, kualitas, jenis warna, unit resolusi, dll. sesuai kebutuhan Anda.
Pada artikel ini, kita telah mempelajari proses melakukan penggabungan gambar di C#. Jika Anda ingin memutar gambar maka bacalah artikel di cara memutar gambar di C#.