SVG (Scalable Vector Graphics) adalah format gambar vektor berbasis XML untuk mendefinisikan grafik dua dimensi dengan dukungan animasi. Gambar-gambar ini terutama digunakan di web karena kerapatan pikselnya tinggi. Di sisi lain, fitur yang kaya juga meningkatkan ukuran gambar SVG dibandingkan dengan gambar PNG yang memiliki dimensi yang sama. Perbedaan seperti itu membuat pengembang berpikir untuk mengonversi gambar dari satu format ke format lainnya. Artikel ini membahas cara mengonversi vektor SVG ke gambar PNG di Java.
Java API untuk Mengonversi Gambar
GroupDocs.Conversion menampilkan dokumen & API konversi gambar untuk developer Java. Ini mendukung daftar besar format gambar untuk konversi dari satu format ke format lainnya. Selain itu, hasil konversi juga dapat disesuaikan menggunakan opsi lanjutan yang tersedia. Saya akan menggunakan API ini, GroupDocs.Conversion for Java untuk mengubah grafik vektor SVG menjadi format gambar PNG.
Unduh atau Konfigurasi
Anda dapat mengunduh file JAR dari bagian unduhan, atau hanya mendapatkan konfigurasi repositori dan ketergantungan untuk pom.xml aplikasi Java berbasis maven Anda.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion</artifactId>
<version>22.3</version>
</dependency>
Konversi Gambar SVG ke PNG di Java
Tanpa membuang waktu, mari kita mulai dengan konversi dasar dengan konfigurasi default. Langkah-langkah berikut menunjukkan cara mengonversi file grafik vektor SVG menjadi gambar PNG di Java.
- Muat grafik PNG menggunakan kelas Converter.
- Siapkan opsi konversi gambar.
- Tetapkan jenis file konversi sebagai PNG.
- Panggil metode convert() untuk mengubah file SVG yang dimuat menjadi gambar PNG.
Kode sumber Java berikut mengubah SVG menjadi gambar PNG.
// Cara mengonversi file SVG ke format PNG di Java menggunakan opsi default
Converter converter = new Converter("path/vector-graphics.svg");
ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png);
converter.convert("path/svg-to-png.png", options);
Gambar SVG ke PNG menggunakan Opsi Lanjutan di Java
Banyak opsi penyesuaian dapat diterapkan ke keluaran PNG saat mengonversi dari SVG untuk mendapatkan hasil yang diinginkan. Berikut adalah beberapa properti yang dapat disesuaikan saat konversi SVG ke PNG:
Opsi Kustomisasi | Metode |
---|---|
Kecerahan | setKecerahan(nilai int) |
Kontras | setKontras(nilai int) |
Mode Balik (Horisontal / Vertikal) | setFlipMode(Nilai ImageFlipModes) |
Gamma | setGamma(nilai mengambang) |
Grayscale | setGrayscale(nilai boolean) |
Tinggi | setTinggi(nilai int) |
Sudut Rotasi | setRotateAngle(nilai int) |
Tanda Air | setWatermark(Nilai WatermarkTextOptions) |
Lebar | setLebar(nilai int) |
Langkah-langkah berikut menunjukkan cara menerapkan variasi saat mengonversi grafik SVG ke gambar PNG di Java.
- Muat grafik SVG menggunakan kelas Converter.
- Siapkan opsi konversi gambar.
- Tetapkan jenis file konversi sebagai PNG.
- Tetapkan properti relevan lainnya menggunakan metode penyetel masing-masing dan sesuaikan nilainya.
- Konversikan ke gambar PNG menggunakan metode convert() dengan opsi yang sudah disiapkan.
Anda dapat menerapkan salah satu dari efek ini atau kombinasinya untuk mendapatkan keluaran PNG yang diperlukan. Kode sumber berikut menerapkan penyesuaian pada gambar PNG saat konversi SVG ke PNG di Java.
// Ubah file SVG menjadi format PNG di Java menggunakan berbagai penyesuaian
Converter converter = new Converter("path/vector-graphics.svg");
ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png); // Set output format as PNG
options.setFlipMode(ImageFlipModes.FlipY); // Flip Vertically or Horizontally
options.setBrightness(50); // Set Brightness
options.setContrast(50); // Set Contrast
options.setGamma(0.5F); // Set Gamma
options.setGrayscale(true); // Set Grayscale
options.setRotateAngle(45); // Set Rotation
// Tambahkan tanda air ke PNG saat dikonversi dari format SVG
WatermarkTextOptions watermark = new WatermarkTextOptions("Watermark");
watermark.setColor(Color.BLUE);
watermark.setBackground(false);
watermark.setRotationAngle(-45);
watermark.setTop(50);
watermark.setLeft(50);
watermark.setTransparency(0.2);
watermark.setWidth(450);
watermark.setHeight(450);
options.setWatermark(watermark);
converter.convert("path/svg-to-png-customized.png", options);
Dapatkan Lisensi API Gratis
Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan API tanpa batasan evaluasi.
Kesimpulan
Singkatnya, kami belajar mengonversi file SVG ke format PNG dalam aplikasi Java. Kami mempelajari lebih lanjut, bagaimana kami dapat memutar, membalik, atau memberi tanda air pada file PNG saat dikonversi dari format SVG. Selanjutnya, kami membahas cara menyesuaikan opsi kecerahan, gamma, dan skala abu-abu.
Anda dapat mencoba membuat aplikasi Java konversi gambar Anda sendiri. Anda dapat mempelajari lebih lanjut tentang API dari dokumentasi untuk otomatisasi konversi dokumen dan gambar.
Cara termudah adalah dengan mencoba contoh dari GitHub. Hubungi kami untuk pertanyaan apa pun melalui forum.