javascript - 在 javascript 中创建 image 数据

我想在 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);

相似文章

pygame - 为什么我会收到 Recursion 语句?

我所做的只是将更多的精灵添加到名为ALL(forsprites)的列表和相应的函数中。我希望一切都会好起来,但具有讽刺意味的是,当运行整个代码时,我却没有收到一个关于递归错误的错误,它基本上是重复多次...

c - 如何在 C 中添加模糊效果

我在为CS50设置的问题中创建模糊效果时遇到问题。我能够理解我的代码背后的逻辑,我认为它应该可以工作。代码可以编译,但模糊效果并没有按照我想要的方式发生。这个想法是一个像素将从它自己和相邻像素中获得平...

cs50 - CS50,PS4 - 滤镜(少) - 模糊

我一直在用BLUR打破我的头,并不断得到segmentationfault。请要求有人告诉我我的代码做错了什么。在花费了这么多时间之后不断出现错误是非常烦人和令人沮丧的。有关更多上下文,我已经粘贴了我...

随机推荐

最新文章