如果我做一个:

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]


我的问题是:为什么254为alpha?
我试验了fillStyle中除0和1之外的任何alpha值都会导致254
而0或1的值导致255的对数!

最佳答案

当透明地填充区域时,实际上并没有使用您所使用的颜色来填充它,而是将其与背景色混合在一起。 254可能只是轻微的舍入误差。

关于javascript - 如何从 Canvas 的图像数据中读取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40038562/

10-09 21:37