canvas的putimagedata后,再用getimagedata获得的rgba色值不对

新手上路,请多包涵

canvas的putimagedata后,再用getimagedata获得的rgba色值不对


let canvas = document.querySelector('#canvas');
let cxt = canvas.getContext('2d');
let imageData = cxt.createImageData(2,2);
for (var i=0;i<imageData.data.length;i+=4){

imageData.data[i+0]=64;
imageData.data[i+1]=55;
imageData.data[i+2]=235;
imageData.data[i+3]=133;

}
cxt.putImageData(imageData,0,0)


然后再getImageData
0:63
1:56
2:236
3:133
…………

这是在chrome下运行的结果,在firefox下的结果也不一样

真的是疯了,业务中我需要准确的色值,这样子就完全做不下去了

有谁知道这是为什么,或者又什么解决办法

阅读 3.2k
2 个回答
新手上路,请多包涵

看来是跟透明度有关系,非常不理解

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题