【发布时间】:2015-08-10 20:25:17
【问题描述】:
我正在尝试使用以下代码在 java 中压缩图像
ImageWriter writer = (ImageWriter) ImageIO.getImageWritersByMIMEType("image/jpeg").next();
JPEGImageWriteParam param = (JPEGImageWriteParam) writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionType("JPEG");
param.setCompressionQuality(0.2f);
param.setProgressiveMode( ImageWriteParam.MODE_DEFAULT );
writer.setOutput(ImageIO.createImageOutputStream(outputStream));
writer.write(null, new IIOImage(resizedImg, null, null), param);
第二行JPEGImageWriteParam param = (JPEGImageWriteParam) writer.getDefaultWriteParam();抛出ClassCastException。
如果我把它改成ImageWriteParam param = writer.getDefaultWriteParam();
它为param.setProgressiveMode( ImageWriteParam.MODE_DEFAULT ); 行抛出UnsupportedOperationException。
提前谢谢...
【问题讨论】:
标签: java image awt jpeg javax.imageio