Menetapkan Tahap Pemampatan JPEG dengan ImageIO dalam Java
Apabila menggunakan ImageIO untuk menyimpan BufferedImage sebagai JPEG, anda mungkin menghadapi keperluan untuk melaraskan tahap mampatan. Parameter ini tidak dapat dilihat dengan mudah dalam kaedah penulisan ImageIO asas.
Untuk menetapkan tahap mampatan, anda boleh mengakses ImageWriter terus daripada ImageIO. Berikut ialah contoh:
<code class="java">ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName("jpg").next(); ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam(); jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); jpgWriteParam.setCompressionQuality(0.7f);</code>
Perhatikan bahawa ImageWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT) diperlukan untuk mendayakan tetapan kualiti eksplisit. Nilai kualiti mampatan berjulat daripada 0.0f (mampatan maksimum) hingga 1.0f (kualiti maksimum).
Untuk melengkapkan proses penulisan, gunakan ImageWriter.setOutput untuk menetapkan ImageOutputStream. Walaupun anda boleh menggunakan jenis Objek generik, ia biasanya disyorkan untuk menggunakan FileImageOutputStream untuk penulisan fail langsung atau MemoryCacheImageOutputStream untuk aliran output seperti ByteArrayOutputStream.
Atas ialah kandungan terperinci Bagaimana untuk Melaraskan Tahap Mampatan JPEG Menggunakan ImageIO dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!