问题描述
目前有一个 RGB 代码的 .log 文件(每行 1280 个,由空格分隔,1280x20 图像为 20 行),我已使用下面的 hexStringToByteArray 方法将其读入我的程序中的字节数组。我知道 hexStringToByteArray 正在以 BGR 形式存储数据,这现在不是问题。我正在尝试将其输出到我可以查看的 png 文件中。我使用的代码是:
BufferedImage img = ImageIO.read(new ByteArrayInputStream(arr));
File file = new File("imageOutput.png");
ImageIO.write(img,"png",file);
img 似乎是空的,因为 ImageIO 中的任何 ImageReaders 都无法读取输入。我应该如何格式化我的 RGB 数据,以便将其转换为 png?
public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charat(i),16) << 4) + Character.digit(s.charat(i+1),16));
}
return data;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)