gpt4 book ai didi

javascript - 无法从 Canvas 获取图像数据。我究竟做错了什么?

转载 作者:行者123 更新时间:2023-11-28 16:29:14 25 4
gpt4 key购买 nike

我似乎无法从 Canvas 中获取像素数据(Chrome 12)。我做错了什么?

完整的例子。我所有的控制台日志都为零。我期望黑色和白色像素的混合。

澄清:我正在绘制一个黑色方 block 来测试我是否可以正确检索像素数据。我期望一些 255, 255, 255 (白色)和一些 0, 0, 0 (黑色)。我只得到白色像素数据。

<html>
<canvas id="canvas" style="border: 1px solid black" width="20" height="20"></canvas>

<script>
var x;
var y;

var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");

// some of the pixels should be black, some white.
context.fillRect(0, 0, 10, 10);

var imageData = context.getImageData(0, 0, canvas.width, canvas.height);

for (y = 0; y < imageData.height; y ++)
{
for (x = imageData.width - 1; x >= 0; x--)
{
console.log(x, y,
imageData.data[((y*(imageData.width*4)) + (x*4)) + 0],
imageData.data[((y*(imageData.width*4)) + (x*4)) + 1],
imageData.data[((y*(imageData.width*4)) + (x*4)) + 2]);
}
}
</script>
</html>

最佳答案

我尝试过,也经历过同样的事情。为什么?查看 Alpha channel :您在图片上看到的白色区域实际上是黑色,不透明度值为 0(这意味着它们是完全透明的)。因此,你看透了,又名。背景是白色的。

如果您首先绘制一个白色的 20x20 矩形,然后绘制一个黑色的 10x10 矩形,则一切都会正常工作( have a look here )。

关于javascript - 无法从 Canvas 获取图像数据。我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6763395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com