使用ImageIO 在Java 中調整JPEG 壓縮等級
在影像處理領域,控制JPEG 檔案的壓縮等級對於平衡至關重要影像品質和文件大小。雖然 ImageIO 的預設壓縮等級可能並不總是足夠,但本文將深入探討如何微調此參數。
直接取得ImageWriter
直接方法涉及擷取JPEG 格式的ImageWriter:
<code class="java">ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName("jpg").next();</code>
設定顯式壓縮參數
要明確設定壓縮級別,請使用ImageWriteParam 類別:<code class="java">ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam(); jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);</code>
調整壓縮品質
所需的壓縮等級指定為0. f(最大壓縮,最低質量)和1.0f(最小壓縮,最高品質)之間的浮點數:<code class="java">jpgWriteParam.setCompressionQuality(0.7f); // Set a compression quality of 70%</code>
寫入輸出
ImageWriter 需要一個ImageOutputStream 來輸出影像:<code class="java">ImageOutputStream outputStream = createOutputStream(); // Generate an OutputStream (e.g., a FileImageOutputStream) jpgWriter.setOutput(outputStream);</code>
最終化
一旦影像被寫入,ImageWriter就應該被處理:<code class="java">jpgWriter.dispose();</code>
以上是如何使用 Java 的 ImageIO 微調 JPEG 壓縮等級?的詳細內容。更多資訊請關注PHP中文網其他相關文章!