我有一个使用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等。

每种格式对字节流进行解码以确定图像尺寸,单个像素的颜色等的方式非常不同。

10-07 21:58