让你马上明白isPointInPath 属性—— canvas的 isPointInPath 属性测试案例

<!DOCTYPE html >
< html >
< head >
< meta charset= "utf-8" >
< title >canvas事件 </ title >
</ head >
< body >

< canvas id= "myCanvas" width= "300" height= "150" style= "border:1px solid #d3d3d3;" >
您的浏览器不支持 HTML5 canvas 标签。
</ canvas >
< script >
//注意:canvas不支持变量存储,所以,isPointInPath只对当前路径有效!

var c= document. getElementById( "myCanvas");
var ctx= c. getContext( "2d");

ctx. strokeStyle= "red";
ctx. rect( 20, 20, 50, 50); //配置位置和大小,X=20,Y=20 ,width=50,height=50

//矩形绘制范围计算: ctx左上角坐标为(0, 0); x,y分别为20,所以,长宽的起始范围为20,终止范围为:坐标距离 + 矩形的长宽 ,20+50 = 70
//设置的点的位置在,X = 70 ,Y = 70,而绘制的矩形图像范围为 长(x) = 20~70 宽(y) = 20~70,
//点 处于矩形的范围内(包括边)所以显示
if ( ctx. isPointInPath( 70, 70))
{
ctx. stroke(); //描绘
};

ctx. beginPath(); //重新描绘
ctx. rect( 70, 70, 50, 50); //配置位置和大小,X=70,Y=70 ,width=50,height=50

//此时, 当前路径为:ctx.rect(70,70, 50, 50);同理
//设置的点的位置在,X = 120 ,Y = 121,而绘制的矩形图像范围为 长(x) = 70~120 宽(y) = 70~120,
//点不处于矩形的范围内(包括边)所以不显示
if ( ctx. isPointInPath( 120, 120))
{
ctx. stroke(); //描绘
};

< / script >

</ body >
</ html >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值