C#'ta JPG'yi JPG ile Birleştirme

C#’ta JPG’yi JPG ile Birleştirme

Bu C# görüntüsünü kütüphane kullanarak JPG’den JPG’e birleştirme geliştirelim. Birden fazla görüntüyü tek bir görüntü dosyasında birleştirmeniz gerektiğinde birçok senaryo vardır. Dolayısıyla, tüm bu süreci otomatikleştirmek iş yazılımınıza rekabet avantajı sağlayacaktır. Bu nedenle, bu blog yazısında, bu güçlü kütüphanenin sunduğu yöntemleri kullanarak JPG’yi C#’ta JPG ile nasıl birleştireceğimizi öğreneceğiz. Bu makalenin sonunda bu işlevselliği elde etmek için kod parçacıkları yazabileceksiniz.

Bu kılavuzda aşağıdaki bölümler ele alınacaktır:

C# görüntü kitaplığı kurulumu

En iyi yanı, bu kurumsal düzeydeki kitaplığı kolayca kurabilmenizdir. Ancak, DLL dosyasını indirin veya NuGet paket yöneticisinde aşağıdaki komutu çalıştırarak yükleyin.

Install-Package Aspose.Imaging

C#’ta JPG’yi JPG ile Birleştirme

Şu ana kadar bu C# görüntü kitaplığını .NET uygulamanıza yüklediniz. Bu nedenle, programlı olarak JPG’den JPG’ye birleşim oluşturmak için kod yazmaya hazırsınız.

Lütfen aşağıda belirtilen adımları ve kod parçacıklarını izleyin:

  1. Ortaya çıkan görüntü boyutunu elde etmek için Size özelliğini çağırın.
  2. Görüntü yolları arasında dolaşın, Image sınıfının Load yöntemini çağırarak görüntüyü birer birer yükleyin ve imageSizes listesine ekleyin.
  3. Resmin genişliğini ve yüksekliğini hesaplayın.
  4. FileCreateSource sınıfının yeni bir örneğini başlatın.
  5. JpegOptions sınıfının yeni bir nesnesini oluşturun.
  6. Belirtilen oluşturma seçeneklerini kullanarak yeni bir görüntü oluşturan Create yöntemini çağırın.
  7. Görüntüler arasında dolaşın, Load yöntemini çağırarak görüntüleri yükleyin.
  8. Belirtilen konum ve boyutla Rectangle yapısının yeni bir örneğini başlatın.
  9. 32 bit ARGB piksellerini kaydetmek için SaveArgb32Pixels yöntemini çağırın.
  10. Görüntünün verilerini, kaydetme seçeneklerine göre belirtilen dosya formatında belirtilen akışa kaydetmek için Kaydet yöntemini çağırın.

Aşağıdaki kodu kopyalayıp ana dosyanıza yapıştırın:

using Aspose.Imaging;
using Aspose.Imaging.FileFormats.Jpeg;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.Sources;
string[] imagePaths = {"image.jpg", "image.jpg" };
string outputPath =   "result1.jpg";
string tempFilePath = "temp.jpg";
// Ortaya çıkan görüntü boyutunu elde etmek için Size özelliğini çağırın. 
List<Size> imageSizes = new List<Size>();
// Görüntü yolları arasında dolaşın, Image sınıfının Load yöntemini çağırarak görüntüyü birer birer yükleyin ve imageSizes listesine ekleyin.
foreach (string imagePath in imagePaths)
{
    using (RasterImage image = (RasterImage)Image.Load(imagePath))
    {
        imageSizes.Add(image.Size);
    }
}
// Resmin genişliğini ve yüksekliğini hesaplayın. 
int newWidth = imageSizes.Sum(size => size.Width);
int newHeight = imageSizes.Max(size => size.Height);
// FileCreateSource sınıfının yeni bir örneğini başlatın. 
Source tempFileSource = new FileCreateSource(tempFilePath, isTemporal: true);
// JpegOptions sınıfının yeni bir nesnesini oluşturun  
JpegOptions options = new JpegOptions() { Source = tempFileSource, Quality = 100 };
// Belirtilen oluşturma seçeneklerini kullanarak yeni bir görüntü oluşturan Create yöntemini çağırın. 
using (JpegImage newImage = (JpegImage)Image.Create(options, newWidth, newHeight))
{
    // Görüntüler arasında dolaşın, Load yöntemini çağırarak görüntüleri yükleyin. 
    int stitchedWidth = 0;
    foreach (string imagePath in imagePaths)
    {
        using (RasterImage image = (RasterImage)Image.Load(imagePath))
        {
            // Belirtilen konum ve boyutla Rectangle yapısının yeni bir örneğini başlatın. 
            Rectangle bounds = new Rectangle(stitchedWidth, 0, image.Width, image.Height);
            // 32 bit ARGB piksellerini kaydetmek için SaveArgb32Pixels yöntemini çağırın.
            newImage.SaveArgb32Pixels(bounds, image.LoadArgb32Pixels(image.Bounds));
            stitchedWidth += image.Width;
        }
    }
    // Kaydetme seçeneklerine göre görüntünün verilerini belirtilen dosya formatında belirtilen akışa kaydetmek için Kaydet yöntemini çağırın. 
    newImage.Save(outputPath);
}

Çıktıyı aşağıdaki resimde görebilirsiniz:

JPG'den JPG'ye birleşme

Ücretsiz Lisans Alın

API’yi değerlendirme sınırlamaları olmadan denemek için ücretsiz geçici lisans’tan yararlanabilirsiniz.

Özetliyor

Bu, bu blog yazısının sonu. Bu C# görüntü kitaplığını kullanarak JPG’yi C#’ta JPG ile nasıl birleştireceğinizi öğrendiniz. Ayrıca, iş uygulamanız için programlı olarak JPG’den JPG’ye birleşim oluşturabilirsiniz. Ayrıca, diğer harika özellikleri öğrenmek için belgeleri ziyaret etmeyi unutmayın.

Ayrıca Başlangıç kılavuzumuzu takip etmenizi öneririz.

Son olarak conholdate.com yeni blog yazıları yazıyor. Bu nedenle, düzenli güncellemeler için lütfen iletişim halinde kalın.

Bir soru sor

Sorularınızı veya sorularınızı forum üzerinden bize bildirebilirsiniz.

SSS

JPG dosyalarını tek bir JPG’de nasıl birleştiririm?

Load yöntemini çağırın, JpegOptions sınıfının bir örneğini oluşturun ve dosyayı kaydetmek için Save yöntemini çağırın. Ek olarak, C# ile yazılmış kod pasajının tamamını öğrenmek için bu link adresini ziyaret edebilirsiniz.

JPEG dosyalarını tek bir belgede nasıl birleştiririm?

JPEG/JPG görüntü dosyalarını programlı olarak tek bir belgede birleştirmek için bu C# görüntüsünü kitaplık kullanabilirsiniz.

Ayrıca bakınız