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.

Konversi SVG ke PNG di Java (Skala Abu-abu, Putar, Balik, Cerah, Tanda Air)

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.

Lihat juga