您好,请教您一个html5 canvas的问题: 我在canvas中画了多个图形,有图像(image)、直线。

您好,请教一个html5 canvas的问题:
我在canvas中画了多个图形,有图像(image)、直线。我想获取选中的图形,如何获取呢?
如果是添加click事件的话不知道如何添加,请老师给指导下,多谢!!!

canvas可以实现
首先canvas要响应鼠标事件(onmousedown之类)
之后所有的图形必须要创建相应的对象,来记录他们所在的位置以及大小还有zOrder(层叠位置,在2个对象重叠的时候决定谁在上面),相应的对象放到一个数组里并按zOrder排序
当canvas的鼠标click事件触发后,按照zOrder的顺序来检测鼠标坐标在不在某个对象的区域里,如果在,则执行相应的函数
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-25
canvas不能对绘制上去的图像绑定事件,只能自己判断图片的位置,获得点击的坐标,看是否在区域内,触发事件。
第2个回答  2012-12-25
canvas是一个单独的Dom对象,不能单独地绘制的图形绑定事件,目前,也只能对最后的path调用isPointInPath方法,来点判断是否在路径中,你可以参考一下ichartjs这个开源图表框架,它也利用HTML5 的 canvas绘制图形,对事件的处理上,是统一绑定了click事件,然后各自图形实现了响应事件的方法。

参考资料:

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网