우리는 웹 사이트에 업로드 된 사진의 크기를 조정하기 위해 Java2D를 사용하고 있지만 문제는 발생합니다 (겉으로보기에는 오래된 것입니다 : cf : http://forums.sun.com/thread.jspa?threadID=5425569). ImageIO.read()
에 이진 데이터가 들어있는 경우 특정 JPEG가 CMMException
입니다. : JPEG 파일을 읽을 수있는 ImageIO 대신 Java가 100 % 있습니까?
java.awt.color.CMMException: Invalid image format
at sun.awt.color.CMM.checkStatus(CMM.java:131)
at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
at java.awt.image.ColorConvertOp.filter(ColorConvertOp.java:516)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.acceptPixels(JPEGImageReader.java:1114)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1082)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:897)
at javax.imageio.ImageIO.read(ImageIO.java:1422)
at javax.imageio.ImageIO.read(ImageIO.java:1326)
...
는
우리는 특정 카메라에서 찍은 사진으로 좁혀 (우리 ImageIO.read()
전화, 서블릿 코드 등이다 스택 추적의 나머지를 냈다), 그리고 그 트리거 사진을 선택 이 오류는 http://img214.imageshack.us/img214/5121/estacaosp.jpg입니다. OpenJDK가 설치된 테스트 머신은 Sun의 JVM (Linux 및 Mac의 경우 1.6.0_20에서 테스트 한 것)에서만 발생합니다. OpenJDK가 설치된 테스트 머신은 JPEG 판독기가 다르기 때문에 동일한 사진을 문제없이 읽을 수 있습니다.
아쉽게도 프로덕션 환경에서 JVM을 전환하거나 ImageMagick (http://www.imagemagick.org/)과 같은 기본 종속 솔루션을 사용할 수 없습니다.
내 질문은 : ImageIOs JPEG 대신에 링크 된 것과 같은 사진을 처리 할 수있는 판독기가 있습니까? 그렇지 않다면 사용할 수있는 100 % 순수 자바 사진 크기 조정 솔루션이 있습니까?
감사합니다.
그런데 ImageIO가 (http://stackoverflow.com/questions/2408613/problem-reading-jpeg-image-using-imageio-readfile-file에 따라) CMYK 이미지를 처리하지 않는다는 것을 알고 있습니다.그러나 샘플 1은 RGB입니다 (맥 미리보기에 관한 한 누군가가 그것을 확인할 수 있다면 기쁜 일입니다) – chesterbr
오라클/썬 버그 데이터베이스에서 버그를 열었습니다 : http://bugs.sun.com/bugdatabase /view_bug.do?bug_id=7064516 아직 수정에 관심이 있다면 투표하십시오. –