2010-01-28 5 views
0

모든 유형의 이미지에서 이미지를 인코딩하고 크기를 조정하고 JPEG로 저장하는 응용 프로그램을 빌드하려고합니다.Java JAI JPEG 이미지 인코딩 RuntimeException

나는 이것을 kind of weird jpeg으로 사용하고 테스트에 사용합니다.

JAI는 어떤 이유로이 이미지를 JPEG로 렌더링 할 수 없습니다.

private SeekableStream seekableStream; 
... 
public RenderedOp builRenderedOp(byte[] bytes) { 
    seekableStream = SeekableStream.wrapInputStream(new ByteArrayInputStream(bytes),true); 
    RenderedOp img = JAI.create("stream", seekableStream); 
    return img ; 
} 
... 
public void writeImageToJPEG(OutputStream out,RenderedOp image,float quality) throws IOException { 
    JPEGEncodeParam encodeParam = new JPEGEncodeParam(); 
    encodeParam.setQuality(quality); 

    ImageEncoder encoder = ImageCodec.createImageEncoder("JPEG", out, encodeParam); 

    encoder.encode(image); 
} 

encoder.encode(image)RuntimeException가 발생 : 나는 다음과 같은 코드를 사용합니다.

java.lang.RuntimeException: - Unable to render RenderedOp for this operation. 
    at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:838) 
    at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:878) 
    at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2190) 
.... 

의견이 있으십니까?

답변

1

RuntimeException은 예외에 대한 래퍼입니다. 발생되는 actaul 예외의 스택 트레이스를 인쇄 할 getCause를 사용해보십시오 : JPEG 2000

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/RuntimeException.html

그것은이 JPEG 파일이 사용되는 라이브러리가 지원되지 않는 수도 같은 libjpeg 또는 무언가를 관련 또는 사양을 벗어난 것을 의미합니다.

+0

http://twitter.com/kristopherives/status/8323842474 –

+0

답장을 보내 주셔서 감사합니다. 문제는 다른 주제와 관련이 있습니다. 내가 제시 한 코드는 괜찮습니다. – Norberto

+0

JAI 문제를 어떻게 해결 했습니까? – schoenk