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 に答える