您好,请教一个html5 canvas的问题:
我在canvas中画了多个图形,有图像(image)、直线。我想获取选中的图形,如何获取呢?
如果是添加click事件的话不知道如何添加,请老师给指导下,多谢!!!
canvaså¯ä»¥å®ç°
é¦å canvasè¦ååºé¼ æ äºä»¶ï¼onmousedownä¹ç±»ï¼
ä¹åææçå¾å½¢å¿ é¡»è¦å建ç¸åºç对象ï¼æ¥è®°å½ä»ä»¬æå¨çä½ç½®ä»¥å大å°è¿æzOrderï¼å±å ä½ç½®ï¼å¨2个对象éå çæ¶åå³å®è°å¨ä¸é¢ï¼ï¼ç¸åºç对象æ¾å°ä¸ä¸ªæ°ç»é并æzOrderæåº
å½canvasçé¼ æ clickäºä»¶è§¦ååï¼æç §zOrderç顺åºæ¥æ£æµé¼ æ åæ å¨ä¸å¨æ个对象çåºåéï¼å¦æå¨ï¼åæ§è¡ç¸åºçå½æ°
é¦å 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事件,然后各自图形实现了响应事件的方法。
参考资料: