canvas寻找坐标失败,请问为什么呢?

李惟
  • 2.1k
// 代码省略了部分,这里已经得到了图形了,已经画出来了
ctx.fillStyle = "rgb(200,0,0)";
ctx.fillRect (10, 10, 55, 50);

// 为什么这里是false呢?
console.log(ctx.isPointInPath(40, 40));
回复
阅读 2.6k
1 个回答
StephenLi
  • 7k
✓ 已被采纳

因为你并没有绘制 path,只是用颜色填充区域而已。
你试试这个:

ctx.moveTo(10,10);
ctx.lineTo(65,10);
ctx.lineTo(65,60);
ctx.lineTo(10,60);
ctx.lineTo(10,10);
ctx.stroke();

ctx.fillStyle = "rgb(200,0,0)";
ctx.fillRect (10, 10, 55, 50); 

此时返回的是 true
参考:isPointInPath()

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