如何从 canvas 的图像数据中读取值

how to read values from imagedata of a canvas

如果我做一个:

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 中的任何 alpha 值,但 0 和 1 导致 254 值 0 或 1 导致日志 255 !

透明填充区域时,实际上并没有用您使用的颜色填充它,而是将它与背景颜色混合。 254 可能只是一个很小的舍入误差。