为了账号安全,请及时绑定邮箱和手机立即绑定

怎么从画布上获取像素颜色

怎么从画布上获取像素颜色

收到一只叮咚 2019-10-20 16:12:23
从画布上获取像素颜色是否可以在鼠标下获得RGB值像素?有完整的例子吗?到目前为止,我的情况如下:<script>function draw() {   var ctx = document.getElementById('canvas').getContext('2d');   var img = new Image();   img.src = 'Your URL';   img.onload = function(){     ctx.drawImage(img,0,0);   };   canvas.onmousemove = function(e) {         var mouseX, mouseY;         if(e.offsetX) {             mouseX = e.offsetX;             mouseY = e.offsetY;         }         else if(e.layerX) {             mouseX = e.layerX;             mouseY = e.layerY;         }         var c = ctx.getImageData(mouseX, mouseY, 1, 1).data;         $('#ttip').css({'left':mouseX+20, 'top':mouseY+20}).html(c[0]+'-'+c[1]+'-'+c[2]);   };}</script>
查看完整描述

3 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

我知道这是个老掉牙的问题,但这是另一个选择。然后,在画布上的鼠标移动事件中,我会将图像数据存储在数组中:


var index = (Math.floor(y) * canvasWidth + Math.floor(x)) * 4

var r = data[index]

var g = data[index + 1]

var b = data[index + 2]

var a = data[index + 3]

比每次获得ImageData要容易得多。



查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 338 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信