duplikat foto

Temukan Gambar Duplikat menggunakan Java Cloud SDK

Gambar JPG adalah format populer untuk keperluan pencetakan dan pengeditan. Selain itu, ini adalah format gambar yang populer untuk berbagi foto dan gambar lainnya di internet dan antara pengguna Seluler dan PC. Ukuran file gambar JPG yang kecil memungkinkan penyimpanan ribuan gambar dalam ruang memori yang kecil. Sekarang karena kompresinya hilang, itu berarti informasi tertentu yang tidak perlu dihapus secara permanen. Di sisi lain, keuntungan terbesar PNG dibandingkan JPEG adalah bahwa kompresinya tidak merugikan, artinya tidak ada penurunan kualitas setiap kali dibuka dan disimpan kembali. PNG juga menangani detail gambar kontras tinggi dengan baik. Nah pada artikel kali ini, kita akan membahas detail tentang cara Convert JPG to PNG menggunakan Java Cloud SDK

API Konversi Gambar

API berbasis REST kami menawarkan kemampuan untuk membuat, mengedit, dan mengubah file gambar ke berbagai format file yang didukung. Sekarang untuk mengimplementasikan fitur memuat dan mengonversi jpg ke png transparan di aplikasi Java, kita perlu menggunakan Aspose.Imaging Cloud SDK for Java sebagai pembungkus di sekitar Cloud API. Jadi langkah selanjutnya adalah menambahkan referensinya di proyek java dengan memasukkan informasi berikut di pom.xml dari proyek tipe maven build.

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

Setelah referensi JDK ditambahkan dalam proyek, langkah penting berikutnya adalah membuat akun gratis melalui Aspose Cloud Dashboard. Cukup mendaftar untuk Uji Coba Gratis melalui alamat email yang valid. Sekarang login menggunakan akun yang baru dibuat dan cari/buat Client ID dan Client Secret di Cloud Dashboard. Detail ini diperlukan untuk tujuan autentikasi di bagian berikut.

Konversi JPG ke PNG di Jawa

Sekarang mari kita bahas detail tentang bagaimana kita dapat mengonversi JPG ke PNG menggunakan cuplikan kode Java. Untuk melakukan konversi, kami memiliki dua API untuk mengonversi gambar ke format lain:

GET API mengharapkan kita mengunggah gambar ke Cloud Storage terlebih dahulu, lalu meneruskan namanya di URL API. Setelah memperbarui parameter gambar, API mengembalikan gambar yang diperbarui dalam respons. Jika ingin menyimpan gambar yang diperbarui di Cloud Storage, Anda harus melakukannya secara eksplisit seperti yang ditunjukkan pada contoh di bawah.

Di sisi lain, saat memanggil API POST kedua, Anda dapat langsung meneruskan gambar di badan permintaan. Ini juga memungkinkan Anda menyimpan gambar yang diperbarui di Cloud Storage dengan menentukan nilai parameter outPath. Namun, jika Anda tidak menentukan nilainya, respons akan berisi gambar yang dialirkan.

  • Buat instance ImagingApi berdasarkan kredensial klien yang dipersonalisasi
  • Baca semua file JPG dari folder lokal menggunakan objek File[].
  • Ulangi melalui file dalam larik dan jangkau konten gambar individual ke dalam instance byte[].
  • Sekarang buat objek CreateConvertImageRequest di mana kita menentukan format gambar keluaran sebagai PNG
  • Panggil metode createConvertImage(…) yang menyimpan JPG sebagai PNG dan mengembalikan hasilnya sebagai aliran respons
  • Terakhir simpan file PNG ke drive lokal menggunakan objek FileOutputStream
// Dapatkan ClientID dan ClientSecret dari https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// membuat objek Imaging
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

File directory = new File("/Users/");
//Dapatkan semua file dari folder
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
    throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}

//Setel ekstensi gambar yang diperlukan di sini.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");

int counter =0;
//Daftar file gambar JPG yang difilter
List<File> acceptedImages = new ArrayList<>();

// Ulangi setiap file gambar yang dibaca dari folder lokal			 
for (File file : allFiles) {
    //Parsing ekstensi file
    String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
	
    //Periksa apakah ekstensi tercantum dalam EkstensiGambar yang didukung
    if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
	//Tambahkan gambar ke daftar yang difilter
	acceptedImages.add(file);
                  
    // membaca konten gambar JPG
    byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
    
    // buat permintaan konversi gambar dengan format yang dihasilkan sebagai PNG
    CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
    
    // konversi JPG ke PNG dan kembalikan file yang dihasilkan dalam aliran respons
    byte[] exportedImage = imageApi.createConvertedImage(request);
    
    // Simpan gambar yang diekspor ke penyimpanan lokal
    FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
    fos.write(exportedImage);
    fos.close();
    }
}

Ubah JPG ke PNG menggunakan Perintah cURL

Karena kami dapat mengakses REST API menggunakan perintah cURL, maka di bagian ini, kami menjelajahi detail untuk mengonversi JPG ke PNG transparan. Sekarang sebagai prasyarat, pertama-tama kita harus membuat token akses JWT (berdasarkan kredensial klien) saat menjalankan perintah berikut.

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"

Sekarang kita akan menggunakan panggilan ConvertImage API, diharapkan input JPG sudah tersedia di penyimpanan cloud. Sekarang silakan jalankan perintah berikut untuk mengubah JPG menjadi PNG.

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

Kesimpulan

Artikel ini telah memberikan beberapa detail luar biasa tentang cara mengonversi JPG ke PNG menggunakan cuplikan kode Java. Demikian pula, kami juga telah membahas langkah-langkah untuk mengonversi JPG ke PNG transparan menggunakan Perintah cURL. Harap diperhatikan bahwa Dokumentasi Produk adalah salah satu tempat luar biasa untuk mempelajari tentang fitur menarik lainnya yang ditawarkan oleh API. Jika Anda perlu mencoba API ini di dalam browser, silakan coba gunakan Referensi API swagger.

Kedua dari belakang, perlu diperhatikan bahwa semua Cloud SDK kami diterbitkan di bawah lisensi MIT, jadi Anda dapat mempertimbangkan untuk mengunduh kode sumber lengkap dari GitHub dan memodifikasinya sesuai kebutuhan Anda. Terakhir, jika Anda menemukan masalah apa pun saat menggunakan API, Anda dapat mempertimbangkan untuk menghubungi kami untuk penyelesaian cepat melalui forum dukungan produk gratis.

Artikel Terkait

Silakan kunjungi tautan berikut untuk mempelajari lebih lanjut tentang: