为了使data:image/png;base64,iVBORw0KGgo/wAA/wAA/wAA有意义,iVBORw0KGgo/wAA/wAA/wAA必须表示一个有效的base64编码的PNG图像。在
最简单的方法是使用canvas:function create_image(width, height, grayscale_pixels) {
var $canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
var image_data = context.createImageData(width, height);
for (var i = 0; i < width * height; i++) {
// Write (r, g, b, a)
image_data[4 * i + 0] = grayscale_pixels[i];
image_data[4 * i + 1] = grayscale_pixels[i];
image_data[4 * i + 2] = grayscale_pixels[i];
image_data[4 * i + 3] = 255;
}
context.putImageData(image_data, 0, 0);
return $canvas;
}
您可以使用$canvas.toDataURL('image/png')获得可用的data:URL。在
如果您的目标浏览器不支持canvas,并且需要一个数据URL,那么您将不得不很难做到这一点。我建议你试试更简单的BMP图像格式,而不是PNG。下面是一个Python示例:
^{pr2}$
您可以很容易地将其转换为JavaScript并使用base64对其进行编码。在