我想在 javascript 中创建一个黑色(或白色,我真的不在乎“颜色”)1x1px image,我尝试用 var img = new Image(1,1)
来做,但我不知道如何分配image 和 img.src
都是黑色的(我不想使用文件,我想用 JS 代码生成)。
有办法做到这一点吗?
回答1
您还可以在 image.src
中使用 base64 encoded
数据。
var image = new Image(10, 10);
image.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=";
document.body.appendChild(image);
回答2
我找到了:
var image = document.createElement('canvas').getContext('2d').getImageData(0,0,1,1);
我会让问题开放,以了解是否有其他方法可以做到这一点。
我使用的来源:
回答3
类似地,您可以在画布中执行 image 操作,然后将包含 image 表示的数据 URI 传递给 HTML image 以进行实际渲染。
const imgWidth = 1;
const canvas = document.createElement("canvas");
canvas.width = imgWidth;
canvas.height = imgWidth;
const ctx = canvas.getContext('2d');
ctx.fillStyle = 'black';
ctx.fillRect(0,0,imgWidth,imgWidth);
const url = canvas.toDataURL();
const newImg = document.createElement("img");
newImg.src = url;
document.body.insertBefore(newImg, null);