ImageIOで画像をjpeg形式で保存すると、通常は結構劣化してしまう。(2000年代のwebレベル?) ```java // 通常の保存処理 ImageIO.write(image, "jpeg", new File("image.jpg")); ``` 以下の方法を使用すれば最高品質で保存が可能になる。 ```java // 最高品質で保存処理 try (FileImageOutputStream output = new FileImageOutputStream(new File("image.jpg"))) { ImageWriter imageWriter = ImageIO.getImageWritersByFormatName("jpeg").next(); ImageWriteParam imageWriteParam = writeImage.getDefaultWriteParam(); imageWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); imageWriteParam.setCompressionQuality(1.0f); imageWriter.setOutput(output); imageWriter.write(null, new IIOImage(image, null, null), imageWriteParam); imageWriter.dispose(); } ```
2019/09/12 13:08:16

コメント (0)

あなたもコメントしてみませんか

アカウント新規作成(無料)

既にアカウントを持っている方は ログイン