PointInPath对于drawImage无效怎么解决?

boom_2016 2016-02-19 06:24:10
function(){
var c = $("#canvas")[0];
var ctx = c.getContext("2d");

ctx.drawImage(yazi, 0, 0, 48, 100,0, 0, 48, 100);
if(ctx.isPointInPath(10,10)){
alert("ok");
}
}

PointInPath对于drawImage无效怎么解决?

可以在drawImage的位置画一个矩形来解决。
但是我的图片是透明人物,我只想判定点是否在人物身上。而不是人物所在位置的矩形上。
...全文
167 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
boom_2016 2016-02-20
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
人物不是透明的,只是背景是透明的 你沿着不透明部分的边界做一条路径不就行了吗
谢谢回答。 沿着不透明部分的边界做一条路径是怎么做的啊。我在网上没找到相关的方法。有代码吗。万分感谢。
boom_2016 2016-02-20
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
isPointInPath 是判断点是否在路径中 你可从 getImageData 得到的点阵数据中创建出人物路径(透明很容易识别)
感谢版主的回答,但是getImageDate还是获取的矩形啊,包含了空白部分。怎么创建非矩形,只是透明图的路径啊? 而且pointInPath对于用putImageData创建的路径也无效啊。
xuzuning 2016-02-20
  • 打赏
  • 举报
回复
人物不是透明的,只是背景是透明的 你沿着不透明部分的边界做一条路径不就行了吗
boom_2016 2016-02-20
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
isPointInPath 是判断点是否在路径中 你可从 getImageData 得到的点阵数据中创建出人物路径(透明很容易识别)
感谢版主的回答,但是getImageDate还是获取的矩形啊,包含了空白部分。怎么创建非矩形,只是透明图的路径啊? @xuzuning
xuzuning 2016-02-19
  • 打赏
  • 举报
回复
isPointInPath 是判断点是否在路径中 你可从 getImageData 得到的点阵数据中创建出人物路径(透明很容易识别)

39,086

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧