html5 线条如何生成,如何选择在HTML5 Canvas上绘制的线条?

在HTML5画布中执行此操作的最简单方法是拍摄画布的图像数据的快照,并在鼠标移动期间查看鼠标下像素的Alpha颜色.

这是我写的核心代码.传递一个上下文和一个函数,它将使用像素下方的RGBA组件调用您的函数.

function pixelOnMouSEOver(ctx,callback){

var canvas = ctx.canvas;

var w = canvas.width,h=canvas.height;

var data = ctx.getImageData(0,w,h).data;

canvas.addEventListener('mousemove',function(e){

var idx = (e.offsetY*w + e.offsetX)*4;

var parts = Array.prototype.slice.call(data,idx,idx+4);

callback.apply(ctx,parts);

},false);

}

以下是它在测试页面上的使用方式:

var wasOver;

pixelOnMouSEOver(ctx,function(r,g,b,a){

var isOver = a > 10; // arbitrary threshold

if (isOver != wasOver){

can.style.backgroundColor = isOver ? '#ff6' : '';

wasOver = isOver;

}

out.innerHTML = "r:"+r+",g:"+g+",b:"+b+",a:"+a;

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值