2

有人可以帮助更正此代码吗?

我正在使用JAI,我正在尝试将 JPG 文件压缩为无损这是我的代码

     `ImageWriter writer= (JPEGImageWriter) ImageIO.getImageWritersByFormatName("jpeg").next();
     javax.imageio.plugins.jpeg.JPEGImageWriteParam param = (JPEGImageWriteParam)                  
     writer.getDefaultWriteParam();
     param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
     param.setCompressionType("JPEG-LOSSLESS");`

这部分总是错误的 param.setCompressionType("JPEG-LOSSLESS"); ,错误是java.lang.IllegalArgumentException: Unknown compression type! at javax.imageio.ImageWriteParam.setCompressionType(ImageWriteParam.java:1023)

4

1 回答 1

0

您只能使用受支持的压缩类型。检查哪些受支持param.getCompressionTypes()

除此之外,试试这个代码(使用更新的 jpeg 无损标准JPEG-LS):

ImageWriter writer = 
    (ImageWriter) ImageIO.getImageWritersByFormatName("jpeg").next();
ImageWriteParam param= writer.getDefaultWriteParam();
param.setCompressionMode(param.MODE_EXPLICIT);
param.setCompressionType("JPEG-LS");
于 2011-10-02T13:54:12.387 回答