BufferedImage image = ImageIO.read( new ByteArrayInputStream( byteArray ) );
ImageIO.write(image, "BMP", new File("filename.bmp"));
当我尝试这个东西时[ImageIO.read( new ByteArrayInputStream( byteArray ))]
返回空值,所以我无法创建新的bmp文件。
但这可以将jpg转换为bmp文件。我有原始文件,我需要转换为图像。
请帮助我。
答案 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