我有base64表示法的图像。我可以将其转换为数组
var byteCharacters = atob(base64);
var byteNumbers = new Array(byteCharacters.length);
for (var i = 0; i < byteCharacters.length; i++) {
byteNumbers[i] = byteCharacters.charCodeAt(i);
}
从here复制代码。当我输出数组时,我看到了
[ 137,
80,
78,
71,
13,
10,
26,
10,
0,
0,
0,
13,
73,
72,
68,
82,
...
这些数字是什么,是RGB颜色?像
byteNumbers[0] --> Red
byteNumbers[1] --> Green
byteNumbers[2] --> Blue
byteNumbers[3] --> Red
但是如何获取有关行/列的信息?任何帮助将不胜感激!
答案 0 :(得分:3)
这些数字是原始图像数据的单个字节(因为你在讨论在传递atob
之后)所拥有的内容。它们的含义取决于它是什么类型的图像 - JPEG,GIF,BMP,TIFF等。
如何解码字节流以确定图像尺寸,单个像素的颜色等,从格式到格式有很大不同。