我有一个 C++ 应用程序,它与相机通信并获取原始图像数据。
然后我有一个 C++ 中的 Byte[],我想用 JNI 将其发送到 Java。
但是,我需要将原始 Byte[] 转换为真实的文件格式(.bmp 是我的第一选择)。
如果我使用 BITMAPFILEINFO 和 BITMAPHEADERINFO 将它从 C++ 写入硬盘上的文件,我可以轻松地做到这一点,但我不知道如何将整个格式发送到 Java。
然后我考虑使用 JNI 只发送原始 byte[] 数据,然后将其转换为
.bmp,但我似乎找不到任何好的库可以在 Java 中执行此操作。
我最好的选择是什么?在 C++ 中转换图像,然后使用 JNI 发送它,或者将 RAW 数据发送到 Java,然后将其转换为 .bmp?我如何最容易实现这一目标?
在 Java 1.5 中只有两行:
BufferedImage image = ImageIO.read( new ByteArrayInputStream( byteArray ) );
ImageIO.write(image, "BMP", new File("filename.bmp"));
据我所知,Java(在 Windows 上)知道如何导出 jpg、png 和 bmp。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)