JPG görüntüsü, yazdırma ve düzenleme amaçları için popüler bir biçimdir. Ayrıca, fotoğrafları ve diğer görüntüleri internette ve Mobil ve PC kullanıcıları arasında paylaşmak için popüler bir görüntü formatıdır. JPG görüntülerinin küçük dosya boyutu, binlerce görüntünün küçük bellek alanında saklanmasına olanak tanır. Artık sıkıştırma kayıplı olduğundan, bazı gereksiz bilgilerin kalıcı olarak silindiği anlamına gelir. Öte yandan, PNG‘ün JPEG’e göre en büyük avantajı, sıkıştırmanın kayıpsız olmasıdır, yani her açıldığında ve yeniden kaydedildiğinde kalite kaybı olmaz. PNG ayrıca ayrıntılı, yüksek kontrastlı görüntüleri iyi işler. Şimdi bu yazıda, Java Cloud SDK kullanarak JPG’yi PNG’ye dönüştürmenin ayrıntılarını tartışacağız.
- Görüntü Dönüştürme API’sı
- Java’da JPG’yi PNG’ye dönüştürme
- cURL Komutlarını kullanarak JPG’yi PNG olarak değiştirin
Görüntü Dönüştürme API’sı
REST tabanlı API’miz, görüntü dosyaları oluşturma, düzenleme ve çeşitli desteklenen dosya formatlarına dönüştürme yetenekleri sunar. Şimdi, Java uygulamasında jpg’yi saydam olarak png’ye dönüştürme özelliğini uygulamak için, Cloud API çevresinde bir sarmalayıcı olduğu için Aspose.Imaging Cloud SDK for Java kullanmamız gerekiyor. Dolayısıyla bir sonraki adım, maven yapı türü projesinin pom.xml dosyasına aşağıdaki bilgileri dahil ederek referansını java projesine eklemektir.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
JDK referansı projeye eklendikten sonra, bir sonraki önemli adım Aspose Cloud Dashboard üzerinden ücretsiz bir hesap oluşturmaktır. Geçerli bir e-posta adresi aracılığıyla Ücretsiz Deneme için kaydolmanız yeterlidir. Şimdi yeni oluşturulan hesabı kullanarak oturum açın ve Cloud Dashboard’ta Müşteri Kimliği ve İstemci Sırrı arayın/oluşturun. Bu ayrıntılar, aşağıdaki bölümlerde kimlik doğrulama amacıyla gereklidir.
Java’da JPG’yi PNG’ye dönüştürme
Şimdi Java kod parçacığını kullanarak JPG’yi PNG’ye nasıl dönüştürebileceğimizin ayrıntılarını tartışalım. Dönüştürmeyi gerçekleştirmek için, bir görüntüyü başka bir formata dönüştürmek için iki API’miz var:
GET API’si, önce Cloud Storage’a bir görüntü yüklememizi, ardından adını API URL’sine iletmemizi bekler. Görüntü parametrelerini güncelledikten sonra API, yanıtta güncellenen görüntüyü döndürür. Güncellenen imajı Cloud Storage’a kaydetmek istiyorsanız, bunu aşağıdaki örneklerde gösterildiği gibi açıkça yapmanız gerekir.
Öte yandan, ikinci POST API’sini çağırırken, doğrudan istek gövdesindeki görüntüyü iletebilirsiniz. Ayrıca, outPath parametre değerini belirterek güncellenen görüntüyü Bulut Depolamaya kaydetmenize olanak tanır. Ancak, değeri belirtmezseniz yanıt, akışlı bir görüntü içerir.
- Kişiselleştirilmiş müşteri kimlik bilgilerinize dayalı olarak bir ImagingApi örneği oluşturun
- File[] nesnesini kullanarak yerel klasördeki tüm JPG dosyalarını okuyun
- Dizideki dosyaları yineleyin ve tek tek görüntünün içeriğine byte[] örneğine ulaşın
- Şimdi, çıktı görüntü biçimini PNG olarak belirttiğimiz bir CreateConvertedImageRequest nesnesi oluşturun.
- JPG’yi PNG olarak kaydeden ve sonucu yanıt akışı olarak döndüren createConvertedImage(…) yöntemini çağırın
- Son olarak PNG dosyasını FileOutputStream nesnesini kullanarak yerel sürücüye kaydedin
// ClientID ve ClientSecret'i https://dashboard.aspose.cloud/ adresinden alın
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// Görüntüleme nesnesi oluştur
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
File directory = new File("/Users/");
//Klasördeki tüm dosyaları al
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}
//Burada gerekli resim uzantılarını ayarlayın.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");
int counter =0;
//JPG resim dosyalarının filtrelenmiş listesi
List<File> acceptedImages = new ArrayList<>();
// Yerel klasörden okunan her görüntü dosyasını yineleyin
for (File file : allFiles) {
//Dosya uzantısını ayrıştırın
String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
//Uzantının desteklenenImageExtensions'ta listelenip listelenmediğini kontrol edin
if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
//Resmi filtrelenmiş listeye ekle
acceptedImages.add(file);
// JPG resim içeriğini oku
byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
// sonuç biçimi PNG olarak görüntü dönüştürme isteği oluştur
CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
// JPG'yi PNG'ye dönüştürün ve elde edilen dosyayı yanıt akışında döndürün
byte[] exportedImage = imageApi.createConvertedImage(request);
// Dışa aktarılan görüntüyü yerel depolamaya kaydedin
FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
fos.write(exportedImage);
fos.close();
}
}
cURL Komutlarını kullanarak JPG’yi PNG olarak değiştirin
REST API’lerine cURL komutlarını kullanarak erişebildiğimiz için, bu bölümde JPG’yi PNG’ye şeffaf dönüştürmenin ayrıntılarını araştırıyoruz. Şimdi bir ön koşul olarak, aşağıdaki komutu yürütürken önce bir JWT erişim belirteci (istemci kimlik bilgilerine dayalı olarak) oluşturmamız gerekiyor.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Şimdi ConvertImage API çağrısını kullanacağız, JPG girişinin zaten bulut depolamada mevcut olmasını bekliyor. Şimdi lütfen JPG’yi PNG olarak değiştirmek için aşağıdaki komutu yürütün.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/convert?format=PNG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.png
Çözüm
Bu makale, Java kod parçacığını kullanarak JPG’yi PNG’ye nasıl dönüştürebileceğimize dair bazı harika ayrıntılar sağladı. Benzer şekilde, cURL Komutlarını kullanarak JPG’yi PNG’ye şeffaf dönüştürme adımlarını da tartıştık. Lütfen Ürün Belgeleri’nin, API tarafından sunulan diğer heyecan verici özellikler hakkında bilgi edinmek için harika bir yer olduğunu unutmayın. Bu API’leri tarayıcıda denemeniz gerekirse, lütfen swagger API Reference kullanmayı deneyin.
Sondan bir önceki, lütfen tüm Bulut SDK’larımızın MIT lisansı altında yayınlandığına dikkat edin, bu nedenle kaynak kodunun tamamını GitHub indirmeyi ve gereksinimlerinize göre değiştirmeyi düşünebilirsiniz. Son olarak, API’yi kullanırken herhangi bir sorunla karşılaşırsanız, hızlı bir çözüm için ücretsiz ürün destek forumu aracılığıyla bize ulaşmayı düşünebilirsiniz.
İlgili Makaleler
Hakkında daha fazla bilgi edinmek için lütfen aşağıdaki bağlantıları ziyaret edin: