我有一段代码可以生成随机图像,但我想解析图像,以便获得可以写入文件的类似内容:
[data],[data],[data]
[data],[data],[data]
左上角的数据将是 0,0 处像素的文本形式(假设 0,0 是左上角),因此上述数据将是 2x3 像素图像,而 0,1 数据将位于正确的位置。
所以基本上如果图像是 12x12 像素,那么文件将有 12 行,每行包含 12 个数据点(据我所知,每个像素都有 4 个颜色/alpha 值)。
这是创建图像的循环,所以也许有一种方法可以在这里提取上面表格中的数据:
for(var i = 0, len = image.data.length; i < len; i += 4){
var x = Math.floor( (i / 4) % dstCanvas.width );
var y = Math.floor( (i / 4) / dstCanvas.width );
// since n is -1..1, add +1 and multiply with 127 to get 0..255
var n = (noise.turbulence(x / gridSize, y / gridSize, 0, dstCanvas.width) + 1) * 127;
image.data[i] = n;
image.data[i+1] = n;
image.data[i+2] = n;
image.data[i+3] = 255;
}