您必须使用JPEGImageWriteParam,然后使用保存图像ImageWriter.write()。写入之前,请通过设置输出ImageWriter.setOutput。
如下设置压缩级别:
JPEGImageWriteParam jpegParams = new JPEGImageWriteParam(null);
jpegParams.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
jpegParams.setCompressionQuality(1f);
1f浮点数在哪里代表100%质量。如果我没有记错的话,默认值为70%左右。
编辑
然后,您必须执行以下操作才能获取的实例ImageWriter。有两种方法,一种是短期的,也有一种是长期的(以防万一)。
该 短的路(所建议的Lapo在一个评论)是:
final ImageWriter writer = ImageIO.getImageWritersByFormatName("jpg").next();
// specifies where the jpg image has to be written
writer.setOutput(new FileImageOutputStream(
new File(folder.toString() + "/" + filename + ".jpg")));
// writes the file with given compression level
// from your JPEGImageWriteParam instance
writer.wri