Java resim boyutlandırıcıyı kullanarak resmi yeniden boyutlandırma

Görüntü editörleri, gereksinimlerinize göre görüntülerin boyutunu değiştirmenize olanak tanıyan yeniden boyutlandırma özelliği sağlar. Bir görüntü düzenleyici tasarlarken veya görüntüleri Java uygulamalarınızdan işlerken, görüntüleri programlı olarak yeniden boyutlandırmanız gerekebilir. Bunu başarmak için, bu makale Java’da görüntülerin nasıl yeniden boyutlandırılacağını kapsar. Ayrıca, farklı yeniden boyutlandırma teknikleri kullanarak görüntüleri nasıl yeniden boyutlandıracağınızı da öğreneceksiniz.

Görüntüleri Yeniden Boyutlandırmak için Java API - Ücretsiz İndirme

Aspose.Imaging for Java, görüntüleri oldukça kolay bir şekilde değiştirmenize izin veren, yaygın olarak kullanılan bir görüntü işleme API’sidir. Bu makaledeki resimleri yeniden boyutlandırmak için bu API’yi kullanacağız. API’yi indirilenler bölümünden indirebilirsiniz. Ayrıca, pom.xml’de aşağıdaki yapılandırmayı kullanarak Maven’den yükleyebilirsiniz.

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

Java’da Raster Görüntüleri Yeniden Boyutlandırma

Aspose.Imaging for Java, raster görüntüleri yeniden boyutlandırmak için iki yol sunar. Biri, ortaya çıkan görüntünün yüksekliğini ve genişliğini sağladığınız basit yeniden boyutlandırmadır. Oysa ikinci yöntemde, Lanczos Yeniden Örnekleme, En Yakın Komşu Yeniden Örnekleme vb. gibi yeniden boyutlandırma tekniğini API’ye bildiren bir yeniden boyutlandırma türü de belirtirsiniz. Sonraki bölümlerde, her birinin nasıl uygulanacağını tartışacağız. görüntüleri yeniden boyutlandırmak için bu yöntemler.

Java’da Resimlerin Basitçe Yeniden Boyutlandırılması

Bu yeniden boyutlandırma yönteminde, yalnızca ortaya çıkan görüntünün boyutlarını sağlamanız gerekir. Java’da bir görüntüyü yeniden boyutlandırmak için gereken adımlar aşağıdadır.

  • Öncelikle, yeniden boyutlandırmak istediğiniz görüntüyü yüklemek için Image sınıfını kullanın.
  • Ardından, görüntüyü yeniden boyutlandırmak için Image.resize(int, int) yöntemini çağırın.
  • Son olarak, ortaya çıkan görüntüyü Image.save(string) yöntemini kullanarak kaydedin.

Aşağıdaki kod parçacığı, bir resmi sağlanan yükseklik ve genişliğe göre yeniden boyutlandırır.

// Resmi yükle
Image image = Image.load("aspose-logo.jpg");

// Yeni boyutları tanımlayın
image.resize(300, 300);

// Resmi Kaydet
image.save("SimpleResizing_out.jpg");

Java Görüntüyü Belirli Bir Türle Yeniden Boyutlandırma

Aspose.Imaging for Java, burada listelenen çok çeşitli yeniden boyutlandırma teknikleri sağlar. Senaryonuza uygun olanı seçebilirsiniz. Örneğin, kaliteli görüntü yeniden boyutlandırma için Lanczos Yeniden Örnekleme önerilir, ancak daha yavaş çalışır. Oysa hızlı yeniden boyutlandırma için En Yakın Komşu Yeniden Örnekleme kullanılır, ancak görüntünün kalitesinden ödün verir. Aşağıda, belirli bir yeniden boyutlandırma tekniğini kullanarak bir görüntüyü yeniden boyutlandırma adımları yer almaktadır.

  • Öncelikle, yeniden boyutlandırmak istediğiniz görüntüyü yüklemek için Image sınıfını kullanın.
  • Ardından, görüntüyü belirli bir teknik kullanarak yeniden boyutlandırmak için Image.resize(int, int, ResizeType) yöntemini çağırın.
  • Son olarak, ortaya çıkan görüntüyü Image.save(string) yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, belirli bir yeniden boyutlandırma tekniği kullanılarak bir görüntünün nasıl yeniden boyutlandırılacağını gösterir.

// Resmi yükle
Image image = Image.load("aspose-logo.jpg");

// Yeni boyutları tanımlayın ve türü yeniden boyutlandırın
image.resize(300, 300, ResizeType.LanczosResample);

// Resmi Kaydet
image.save("SimpleResizing_out.jpg");

Java’da Orantılı Görüntü Yeniden Boyutlandırma

En-boy oranı, ortaya çıkan görüntülerin küçültülmesini veya ölçeklenmesini önlemek için görüntüleri yeniden boyutlandırırken hesaplanır. Ancak en-boy oranının herhangi bir yanlış hesaplanması, görüntülerin esnemesine neden olabilir. Bu tür sorunlardan kurtulmak için, en boy oranını API’nin kendisinin halletmesine izin verebilirsiniz. Aşağıdakiler, bir görüntüyü orantılı olarak yeniden boyutlandırmak için gereken adımlardır.

Image.resizeWidthProportionally(int, ResizeType) ve Image.resizeHeightProportionally(int, ResizeType) aşırı yükleme yöntemlerini kullanarak görüntüyü orantılı olarak yeniden boyutlandırırken belirli bir yeniden boyutlandırma türü belirtebilirsiniz.

Aşağıdaki Java kodu örneği, bir görüntünün orantılı olarak nasıl yeniden boyutlandırılacağını gösterir.

// Resmi yükle
Image image = Image.load("aspose-logo.jpg");

// Yeni boyutları tanımlayın
int newWidth = image.getWidth() / 2;
image.resizeWidthProportionally(newWidth);
int newHeight = image.getHeight() / 2;
image.resizeHeightProportionally(newHeight);

// Resmi Kaydet
image.save("SimpleResizing_out.jpg");

Java’da Vektör Görüntülerini Yeniden Boyutlandırma

Ayrıca bir vektör görüntüsünü yeniden boyutlandırabilir ve PNG, JPEG, GIF, vb. gibi bir raster görüntü formatında kaydedebilirsiniz. Aşağıdaki kod, Aspose.Imaging kullanarak Java’da bunun nasıl elde edileceğini göstermektedir.

// Vektör resmini yükle
try (Image image = Image.load("image.svg"))
{
  	// Yeni boyutları tanımlayın
	image.resize(image.getWidth() * 10,image.getHeight() * 15);
  
  	// Resmi PNG olarak kaydet
	image.save("Logotype_10_15.png", new PngOptions());
}

Java Image Resizing API - Ücretsiz Lisans Alın

Aspose.Imaging for Java’yı kullanabilir ve bir ücretsiz geçici lisans alarak değerlendirme sınırlamaları olmadan görüntüleri yeniden boyutlandırabilirsiniz.

Çözüm

Bu makalede, Java’da resimlerin nasıl yeniden boyutlandırılacağını öğrendiniz. Ayrıca makale, Lanczos Yeniden Örnekleme, En Yakın Komşu Yeniden Örnekleme vb. Java görüntü işleme API’si hakkında daha fazla bilgi edinmek için dokümantasyon adresini ziyaret edebilirsiniz. Ayrıca, GitHub üzerinde bulunan kaynak kod örneklerinden de bilgi edinebilirsiniz. Herhangi bir sorunuz olması durumunda bize forumumuzdan ulaşabilirsiniz.

Ayrıca bakınız