ImageIO.read
を使用して、アップロードされた画像ファイルを処理しています。コードは、私が問題のほとんどを解決するために管理しているImageIOを使用してJCS_YCCK画像を読む
BufferedImage bufferedImage = ImageIO.read(new ByteArrayInputStream(image.getContents()));
に似ていますが、これは無知な私を残しています。アップロードされた画像には、でサポートされていないcom.sun.imageio.plugins.jpeg.JPEG
で定義されているJCS_YCCK
のプロファイルがあります。
Caused by: javax.imageio.IIOException: Unsupported Image Type
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:910)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:885)
at javax.imageio.ImageIO.read(ImageIO.java:1422)
at javax.imageio.ImageIO.read(ImageIO.java:1326)
at com.example.ImageWriter.resizeEmbeddableImageInPlace(ImageWriter.java:231)
JavaのImageIOを使用してこのタイプのJPEGを処理するにはどうすればよいですか?
更新:私は答えで示さコモンズ・Sanselanを、試してみたが、残念ながらそれは、JPEGファイルをサポートしていません:
org.apache.sanselan.ImageReadException: Sanselan cannot read or write JPEG images.
at org.apache.sanselan.formats.jpeg.JpegImageParser.getBufferedImage(JpegImageParser.java:90)
at org.apache.sanselan.Sanselan.getBufferedImage(Sanselan.java:1264)
at org.apache.sanselan.Sanselan.getBufferedImage(Sanselan.java:1231)
ありがとうございます!私は見てみましょう。 –
Sanselanは、JPEG画像はサポートされていないことを明示的に述べています。 –