我有一个使用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
但是,如何获取有关行/列的信息?任何帮助,将不胜感激!
最佳答案
这些数字是原始图像数据的各个字节(因为您正在谈论的是通过atob
传递的数据)。它们的含义将取决于它是哪种图像-JPEG,GIF,BMP,TIFF等。
每种格式对字节流进行解码以确定图像尺寸,单个像素的颜色等的方式非常不同。