如果我做:
ctx.fillStyle = 'rgba(100,200,50,0.5)';
ctx.fillRect(0,0,1,1);
然后是:
var imageData = ctx.getImageData(0,0,1,1);
console.log(imageData.data;
我得到:
>>[50,100,25,254]
我的问题是:为什么 alpha 为 254? 我实验了 fillStyle 中除 0 和 1 之外的任何 alpha 值都会导致 254 0 或 1 的值导致对数为 255!
最佳答案
当您透明地填充一个区域时,您实际上并没有使用您使用的颜色来填充它,而是将其与背景颜色混合。 254 可能只是一个非常小的舍入误差。
关于javascript - 如何从 Canvas 的图像数据读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40038562/