Java'da Görüntü Boyutu Nasıl Azaltılır

Java’da Görüntü Boyutu Nasıl Azaltılır

Bu görüntü boyutu küçültücü kitaplık, görüntüleri sıkıştırmak için kurumsal düzeyde sıkıştırma teknikleri sunar. Aslında, bu zengin özellikli kitaplığın sağladığı çeşitli sıkıştırma türlerini ve düzeylerini kullanarak API çağrılarınızı iş gereksinimlerinize göre özelleştirebilirsiniz. Bu nedenle Java projemizde bu kütüphaneyi kuralım ve çevrimiçi bir resim sıkıştırıcı oluşturalım. Bu eğitim bize Java’da görüntü boyutunu programlı olarak nasıl küçülteceğimizi öğretecek.

Aşağıdaki hususlar ele alınacaktır:

Resim boyutu küçültücü kitaplık kurulumu

Hızlı uygulama geliştirme söz konusu olduğunda herhangi bir kütüphanenin kurulumu önemlidir. Her neyse, JAR dosyasını indirebilir veya aşağıdaki Maven yapılandırmalarını kullanarak bu kitaplığı kurabilirsiniz.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>20.12</version>
    <classifier>jdk16</classifier>
</dependency>

PNG görüntü boyutunu programlı olarak küçültün

Bu kütüphanenin sunduğu, burada bulabileceğiniz çok sayıda yöntem var. Ayrıca görüntülerin rengini, sıkıştırma türünü ve diğer birçok özelliğini programlı olarak ayarlayabilirsiniz.

PNG görsellerini sıkıştırmak için lütfen aşağıdaki adımları ve kod pasajını izleyin:

  1. Kaynak PNG görüntü dosyasını Image.load yöntemini çağırarak yükleyin.
  2. Olası CompressionLevel aralığı üzerinde döngü.
  3. PNG seçeneklerine erişmek için, sonuçta ortaya çıkan her PNG için PngOptions sınıfının bir örneğini oluşturun.
  4. CompressionLevel’i ayarlayın. Oysa png görüntü sıkıştırma düzeyi 0-9 aralığındadır; burada 9, maksimum sıkıştırma ve 0, depolama modudur.
  5. save yöntemini çağırarak sonuçları diske kaydedin.

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

// Image.load yöntemini çağırarak kaynak PNG resim dosyasını yükleyin.  
Image image = Image.load(  "output.png");
// Olası CompressionLevel aralığı üzerinde döngü
for (int i = 0; i <= 9; i++) {
    // PNG seçeneklerine erişmek için sonuçta ortaya çıkan her PNG için bir PngOptions örneği oluşturun.
    PngOptions options = new PngOptions();
    // CompressionLevel'i ayarlayın. Oysa png görüntü sıkıştırma düzeyi 0-9 aralığındadır; burada 9, maksimum sıkıştırma ve 0, depolama modudur. 
    options.setCompressionLevel(i);
    // Kaydetme yöntemini çağırarak sonucu diske kaydedin. 
    image.save("CompressingFiles_out" + i + ".png", options);
}

Java’da TIFF görüntülerini sıkıştırın

Benzer şekilde, bu kitaplık, birkaç satır Java kodu kullanarak TIFF görüntü dosyalarının boyutunu azaltabileceğiniz çevrimiçi bir görüntü sıkıştırıcı oluşturmanıza olanak tanır.

Aşağıda belirtilen adımları takip edebilirsiniz:

  1. Bir görüntüyü dosya yolu konumu veya akışı aracılığıyla yüklemek için image.load yöntemini çağırın.
  2. Ortaya çıkan görüntü için bir TiffOptions örneği oluşturun.
  3. setBitsPerSample yöntemini çağırarak BitsPerSample, Fotometrik modu ve Sıkıştırma modunu ayarlayın.
  4. Sıkıştırmayı ayarlamak için setCompression yöntemini çağırın.
  5. Fotometriyi ayarlamak için setFotometrik yöntemini çağırın.
  6. setPalette yöntemini çağırarak gri tonlamalı paleti ayarlayın.
  7. Çıkışı Kaydet.
// Bir görüntüyü dosya yolu konumu veya akışı aracılığıyla yüklemek için image.load yöntemini çağırın.  
try (Image image = Image.load(  "sample.tiff"))
{
    // Ortaya çıkan görüntü için bir TiffOptions örneği oluşturun. 
    TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
    // setBitsPerSample yöntemini çağırarak BitsPerSample, Fotometrik mod ve Sıkıştırma modunu ayarlayın.
    outputSettings.setBitsPerSample(new int[] { 4 });
    // Sıkıştırmayı ayarlamak için setCompression yöntemini çağırın. 
    outputSettings.setCompression(TiffCompressions.AdobeDeflate);
    // Fotometriyi ayarlamak için setPhotometric yöntemini çağırın. 
    outputSettings.setPhotometric(TiffPhotometrics.Palette);
    // setPalette yöntemini çağırarak gri tonlamalı paleti ayarlayın. 
    outputSettings.setPalette(ColorPaletteHelper.create4BitGrayscale(false));
    // Çıktıyı kaydedin. 
    image.save(  "out_adobedeflate.tiff", outputSettings);
}

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

TIFF görüntülerini sıkıştır

Ücretsiz Lisans Alın

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

Özetliyor

Bu bizi bu eğitimin sonuna getiriyor. Diğer bazı önemli konuların yanı sıra Java’da resim boyutunun nasıl küçültüleceğini öğrendiniz. Üstelik programlı olarak TIFF görüntülerini nasıl sıkıştıracağınızı ve PNG görüntü boyutunu küçülteceğinizi öğrendiniz. Bu blog yazısı, birkaç satır kaynak kodu kullanarak çevrimiçi bir görüntü sıkıştırıcı oluşturmanıza gerçekten yardımcı olacaktır. Son olarak, iş uygulamanız için bir görüntü boyutu küçültücü oluşturacaksanız belgeleri atlamayı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ı forumumuzda bize bildirebilirsiniz.

SSS

Kodlamada bir görüntüyü nasıl yeniden boyutlandırabilirim?

Görüntüleri programlı olarak yeniden boyutlandırmak için bu Java görüntü işlemeyi kütüphaneyi yükleyin. Java’da birkaç satırlık kaynak kodu kullanarak görüntüleri değiştirmeye yönelik yöntemler sunar.

Ayrıca bakınız