2011-04-23 10 views
1
BufferedImage image = ImageIO.read(new ByteArrayInputStream(byteArray)); 
ImageIO.write(image, "BMP", new File("filename.bmp")); 

[ImageIO.read(new ByteArrayInputStream(byteArray))]은 null 값을 반환하므로 새 bmp 파일을 만들 수 없습니다. 하지만 jpg를 bmp 파일로 변환합니다. 원시 파일이있어서 이미지로 변환해야합니다. 도와주세요.어떻게 JAVA에서 * .raw 파일을 * .bmp로 변환 할 수 있습니까?

+0

좋은 해결책을 찾으십니까? –

답변

1

여기를보세요 : Java Advanced Imaging I/O Tools. Java Image I/O Reader는 "raw"-Files를 읽을 수있는 것 같습니다. Java Image I/O Writer를 사용하여 BMP로 작성할 수 있다고 생각합니다.

관련

3

javax.imageio의 독자와 작가에 대한 지원이 제한되어, 당신은 다음 propably 그것이 당신의 변환하려는 바이트 []의 형식을 잘 모릅니다 경우 유효한 이미지 리더 목록에 포함되어 있지 않습니다. 그런 다음 Java Advanced Imaging API가 필요합니다.이 API는 here입니다. 작가 :

은의 독자 독자 있습니다 을 BMP BMP JPG JPG JPEG JPEG WBMP WBMP PNG PNG 지프 지프 당신이 JAI API를 사용하여 작동하도록하는 데 도움이된다

이 몇 줄의

// read byte[] 
SeekableStream stream = new ByteArraySeekableStream(image); 
// render stream of bytes to valid image format 
RenderedImage renderedImage = JAI.create("stream", stream); 
// persist image to file 
JAI.create("filestore", renderedImage, filename, targetFormat); 
// dont't forget to close the stream! 
stream.close(); 
관련 문제