Java で ImageIO を使用して JPEG 圧縮レベルを設定する
ImageIO を使用して BufferedImage を JPEG として保存する場合、調整が必要になる場合があります。圧縮レベル。このパラメータは、基本的な ImageIO 書き込みメソッド内ではすぐにはわかりません。
圧縮レベルを設定するには、ImageIO から ImageWriter に直接アクセスできます。以下に例を示します。
<code class="java">ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName("jpg").next(); ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam(); jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); jpgWriteParam.setCompressionQuality(0.7f);</code>
明示的な品質設定を有効にするには、ImageWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT) が必要であることに注意してください。圧縮品質の値の範囲は、0.0f (最大圧縮) ~ 1.0f (最大品質) です。
書き込みプロセスを完了するには、ImageWriter.setOutput を使用して ImageOutputStream を設定します。汎用の Object タイプを使用することもできますが、通常は、ファイルの直接書き込みには FileImageOutputStream を使用するか、ByteArrayOutputStream などの出力ストリームには MemoryCacheImageOutputStream を使用することをお勧めします。
以上がJavaでImageIOを使用してJPEG圧縮レベルを調整する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。