在Java中有沒有什麼辦法用EXIF元數據加載JPEG圖像?加載與exif和/或損壞的元數據JPEG圖像
我不需要的EXIF數據(或任何其他元數據),但問題是,JavaIO.read給我:
javax.imageio.IIOException: Unsupported Image Type
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:995) ~[na:1.7.0_09]
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:966) ~[na:1.7.0_09]
at javax.imageio.ImageReader.read(ImageReader.java:940) ~[na:1.7.0_09]
如果我嘗試讀取圖像。
在相關說明:我們有時也會得到帶有ImageIO.read無法處理的其他元數據的jpg圖像,所以我真的很喜歡jpeg閱讀器,它不會嘗試讀取/處理/理解任何元數據。但我一直無法找到任何。
圖像數據本身更新受損,所有其他軟件(Gimp,Firefox等)都可以正確讀取並顯示圖像。
我什至試過以下,但它仍然無法讀取圖像。
Iterator readers = ImageIO.getImageReadersByFormatName("jpg");
ImageReader reader = (ImageReader)readers.next();
ImageInputStream iis = ImageIO.createImageInputStream(sourceFile);
reader.setInput(iis,true,true);
BufferedImage image = reader.read(0);
你確定它的元數據?對於用CMYK編碼的文件,我遇到了類似的問題。什麼是您的圖像的顏色模型/空間? –
有趣的故事。原來是某些文件的元數據,以及其他文件的顏色配置文件問題。但是現在我只是在文件上運行/ usr/bin/mogrify -strip如果我無法打開它們,它會處理大多數問題,除了所有的顏色配置文件問題。我仍然希望有一個更好的java庫來處理顏色配置文件(Expecially cmyk)/愚蠢的伽馬值和相似的問題(我目前有一個.jpg文件,其中有更多的色域數據,然後圖像數據)問題的JPG文件。 – MTilsted