Konversi SVG ke J2K melalui Java
Ubah SVG menjadi J2K menggunakan API Java asli tanpa memerlukan editor gambar atau pustaka pihak ketiga.
Cara Mengonversi SVG ke J2K Menggunakan Java
Mengonversi format file mungkin tampak seperti tugas rutin yang dihadapi oleh desainer grafis. Namun, meremehkan signifikansinya adalah suatu kesalahan. Evaluasi pekerjaan Anda mungkin bergantung pada seberapa cepat dan efektif Anda menangani tugas ini. Biasanya, gambar asli memerlukan konversi ke format yang lebih sesuai untuk pencetakan atau publikasi online. Jika gambar asli berasal dari editor grafis, mungkin dalam format vektor. Dalam skenario ini, data tersebut harus diraster dan dikonversi ke format raster untuk tujuan penerbitan. Anda mempunyai pilihan untuk menyimpan gambar dalam format tidak terkompresi untuk kualitas optimal atau mengonversinya ke format terkompresi lossless untuk mengurangi ukuran file. Dalam konteks tertentu, seperti penerbitan web, Anda dapat memilih format terkompresi lossy. Algoritme yang dirancang khusus untuk kompresi data gambar memungkinkan pengurangan ukuran file secara signifikan dengan tetap menjaga kualitas gambar yang dapat diterima. Ini memfasilitasi pengunduhan file gambar dengan cepat dari internet. Untuk mengonversi SVG ke J2K, kita akan menggunakan Aspose.Imaging for Java API yang kaya fitur, kuat dan mudah digunakan manipulasi gambar dan konversi API untuk platform Java. Anda dapat mengunduh versi terbarunya langsung dari Maven dan instal dalam proyek berbasis Maven Anda dengan menambahkan konfigurasi berikut ke pom.xml.
Repository
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Ketergantungan
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Langkah-langkah untuk Mengonversi SVG ke J2K melalui Java
Pengembang dapat dengan mudah memuat & mengonversi file SVG ke J2K hanya dalam beberapa baris kode.
- Muat file SVG dengan metode Image.load
- Buat & atur turunan dari subkelas ImageOptionsBase yang diperlukan (mis. BmpOptions, PngOptions, dll.)
- Panggil metode Image.save
- Lewati jalur file dengan ekstensi J2K & objek kelas ImageOptionsBase
Persyaratan sistem
Sebelum menjalankan kode contoh konversi, pastikan Anda memiliki prasyarat berikut.
- Sistem operasi: Windows atau Linux.
- Lingkungan pengembangan: Mendukung .NET Core 7 dan lebih tinggi, seperti Microsoft Visual Studio.
Aplikasi Gratis untuk Mengonversi SVG ke J2K
- Pilih atau seret dan lepas gambar SVG
- Pilih format dan klik tombol Konversi
- Klik tombol Unduh untuk mengunduh gambar J2K
Konversi SVG ke J2K - Java
import com.aspose.imaging.Image; | |
import com.aspose.imaging.ImageOptionsBase; | |
import com.aspose.imaging.fileformats.jpeg2000.Jpeg2000Codec; | |
import com.aspose.imaging.fileformats.png.PngColorType; | |
import com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat; | |
import com.aspose.imaging.imageoptions.*; | |
//This example demonstrates how to convert all supported file formats from one to another | |
String templatesFolder = "D:\\WorkDir\\"; | |
//Formats that support both - save and load | |
HashMap<String, ImageOptionsBase> formatsThatSupportExportAndImport = new HashMap<String, ImageOptionsBase>(); | |
formatsThatSupportExportAndImport.put("bmp", new BmpOptions()); | |
formatsThatSupportExportAndImport.put("gif", new GifOptions()); | |
formatsThatSupportExportAndImport.put("dicom", new DicomOptions()); | |
formatsThatSupportExportAndImport.put("emf", new EmfOptions()); | |
formatsThatSupportExportAndImport.put("jpg", new JpegOptions()); | |
formatsThatSupportExportAndImport.put("jpeg", new JpegOptions()); | |
formatsThatSupportExportAndImport.put("jpeg2000", new Jpeg2000Options() ); | |
formatsThatSupportExportAndImport.put("j2k", new Jpeg2000Options() {{ setCodec(Jpeg2000Codec.J2K); }} ); | |
formatsThatSupportExportAndImport.put("jp2", new Jpeg2000Options() {{ setCodec(Jpeg2000Codec.Jp2); }} ); | |
formatsThatSupportExportAndImport.put("png",new PngOptions() {{ setColorType(PngColorType.TruecolorWithAlpha); }}); | |
formatsThatSupportExportAndImport.put("apng", new ApngOptions()); | |
formatsThatSupportExportAndImport.put("svg", new SvgOptions()); | |
formatsThatSupportExportAndImport.put("tiff", new TiffOptions(TiffExpectedFormat.Default)); | |
formatsThatSupportExportAndImport.put("tif", new TiffOptions(TiffExpectedFormat.Default)); | |
formatsThatSupportExportAndImport.put("wmf", new WmfOptions()); | |
formatsThatSupportExportAndImport.put("emz", new EmfOptions() {{ setCompress(true); }}); | |
formatsThatSupportExportAndImport.put("wmz", new WmfOptions() {{ setCompress(true); }}); | |
formatsThatSupportExportAndImport.put("svgz", new SvgOptions(){{ setCompress(true); }}); | |
formatsThatSupportExportAndImport.put("tga", new TgaOptions()); | |
formatsThatSupportExportAndImport.put("webp", new WebPOptions()); | |
formatsThatSupportExportAndImport.put("ico", new IcoOptions()); | |
//Formats that can be only saved | |
HashMap<String, ImageOptionsBase> formatsOnlyForExport = new HashMap<String, ImageOptionsBase>(); | |
formatsOnlyForExport.put("psd", new PsdOptions()); | |
formatsOnlyForExport.put("dxf", new DxfOptions() {{ setTextAsLines(true); setConvertTextBeziers(true); }} ); | |
formatsOnlyForExport.put("pdf", new PdfOptions()); | |
formatsOnlyForExport.put("html", new Html5CanvasOptions()); | |
//Formats that can be only loaded | |
List<String> formatsOnlyForImport = Arrays.asList("djvu", "dng", "dib", "eps", "cdr", "cmx", "otg", "odg"); | |
//Get total formats that can be saved | |
HashMap<String, ImageOptionsBase> exportToFormats = new HashMap<String, ImageOptionsBase>(formatsOnlyForExport); | |
exportToFormats.putAll(formatsThatSupportExportAndImport); | |
//Get total formats that can be loaded | |
List<String> importFormats = new LinkedList<>(formatsOnlyForImport); | |
importFormats.addAll(formatsThatSupportExportAndImport.keySet()); | |
importFormats.forEach((formatExt) -> { | |
String inputFile = templatesFolder + "template." + formatExt; | |
for (Map.Entry<String, ImageOptionsBase> exportFormat : exportToFormats.entrySet()) | |
{ | |
String outputFile = String.format("%s\\%s\\%s-%s-to-%s.%s", templatesFolder, "convert", "convert-", formatExt, exportFormat.getKey(), exportFormat.getKey()); | |
System.out.println(outputFile); | |
// More about load method can be found at | |
// https://apireference.aspose.com/imaging/java/com.aspose.imaging/Image#load-java.lang.String- | |
try (Image image = Image.load(inputFile)) | |
{ | |
ImageOptionsBase exportOptions = exportFormat.getValue().deepClone(); | |
if ((formatExt.equals("emf") || formatExt.equals("emz")) && (exportFormat.getValue() instanceof WmfOptions)) | |
{ | |
EmfRasterizationOptions rasterizationOptions = new EmfRasterizationOptions(); | |
rasterizationOptions.setPageWidth(image.getWidth()); | |
rasterizationOptions.setPageHeight(image.getHeight()); | |
exportOptions.setVectorRasterizationOptions(rasterizationOptions); | |
} | |
image.save(outputFile, exportOptions); | |
} | |
} | |
}); |
SVG Apa SVG Format Berkas
File SVG adalah File Grafik Vektor Scalable yang menggunakan format teks berbasis XML untuk menggambarkan tampilan gambar. Kata Scalable mengacu pada fakta bahwa SVG dapat diskalakan ke berbagai ukuran tanpa kehilangan kualitas apa pun. Deskripsi berbasis teks dari file tersebut membuat mereka independen dari resolusi. Ini adalah salah satu format yang paling banyak digunakan untuk membangun situs web dan mencetak grafik untuk mencapai skalabilitas. Format tersebut hanya dapat digunakan untuk grafik dua dimensi sekalipun. File SVG dapat dilihat/dibuka di hampir semua browser modern termasuk Chrome, Internet Explorer, Firefox, dan Safari.
Baca selengkapnya | SVGJ2K Apa J2K Format Berkas
File J2K adalah gambar yang dikompres menggunakan kompresi wavelet, bukan kompresi DCT.
Baca selengkapnya | J2KKonversi lain yang Didukung
Menggunakan Java, seseorang dapat dengan mudah mengonversi berbagai format termasuk.