首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

isPointInPath步骤

2012-10-26 
isPointInPath方法canvas中如果用路径画了一个多边形,或者圆,想在点击多边形或者圆的时候删掉它,如何实现

isPointInPath方法
canvas中如果用路径画了一个多边形,或者圆,想在点击多边形或者圆的时候删掉它,如何实现呢?

可以用isPointInPath方法,这个方法可以判断坐标是否在路径内

以下引用一篇文章:

   
了解canvas这个标签后,会发现在一个canvas类似一个img图片,在canvas中绘制的图形都是一个整体,所有的事件也都是发生在这一个标签上,没有办法直接判断事件是发生在canvas中的某个图形上。但是通过canvas中的路径的概念可以解决这个问题。

关键:通过路径来绘制图形,用每一个图形是一个路径,事件绑定在canvas标签上,获得事件的发生的x,y坐标。再通过 isPointInPath(),来判断点(x,y)是否在路径内,需要注意的是isPointInPath()只对当前路径(currentPath)有效,并且经测试发现,只对当前路径的第一个子路径有效(subPath,一个currentPath可以有多个subPath)。关于路径的详细解释可以看看canvas的api文档。
具体的判断就是,当事件触发时,对canvas中的内容进行重绘,每重回一个路径中的图形,用 isPointInPath()判断一次,如果在路径内,执行相应的操作。
   



详细示例请猛击此处:
http://bbs.blueidea.com/archiver/tid-2979405.html










热点排行