如何在JAVA中将* .raw文件转换为* .bmp?

时间:2011-04-23 05:57:12

标签: java image-processing

BufferedImage image = ImageIO.read( new ByteArrayInputStream( byteArray ) );
ImageIO.write(image, "BMP", new File("filename.bmp"));

当我尝试这个东西时[ImageIO.read( new ByteArrayInputStream( byteArray ))]返回空值,所以我无法创建新的bmp文件。 但这可以将jpg转换为bmp文件。我有原始文件,我需要转换为图像。 请帮助我。

2 个答案:

答案 0 :(得分:3)

javax.imageio中对读者和作者的支持是有限的,如果你不知道你想要转换的byte []的格式,那么它可能不包含在有效图像阅读器列表中。然后,您可能需要的是Java Advanced Imaging API,您可以找到它here

这些是读者a 读者:作家: bmp bmp jpg jpg jpeg jpeg wbmp Wbmp png png gif gif

这几行可以帮助您使用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();

答案 1 :(得分:1)

看看这里:Java Advanced Imaging I/O Tools。 Java Image I / O Reader似乎能够读取“原始”文件。我认为您可以使用Java Image I / O Writer将它们编写为BMP。

问候

的Mac