zrender icon indicating copy to clipboard operation
zrender copied to clipboard

[大神解答多谢]zrender的事件机制

Open xiaobao143 opened this issue 9 years ago • 4 comments

最近在看zrender的源码,别的部分基本都搞清楚了,只有事件机制这块一直不明白,还希望大神给指点一下, 我是这么理解的,Dom只支持到Cavans级别的事件,zrender中是怎么实现到图形绘制级别的事件的呢? 如果要实现到图形级别的事件,canvas对象是作为一个整体存在的。也就是说,图形本身实际都是Canvas的一部分,不可单独获取,所以也就无法直接给某个图形增加JavaScript事件。只有判断点击的坐标点在哪个图形范围内,才可以对相应的图形进行事件触发,但我在源码中一直没有找到相关的代码,还有一个疑问是不规则图形怎么判断对应的图形范围.

希望 大神 多多指教一下,万分感谢

xiaobao143 avatar Apr 14 '16 02:04 xiaobao143

有同样疑问的同学可以一起讨论研究一下

xiaobao143 avatar Apr 14 '16 02:04 xiaobao143

判断点在不规则图形内有好几种方法呢,ray-crossing, winding number.. 这是我自己写的一个canvas底层库,小体量,基本功能都具备。 https://github.com/PengJiyuan/omg

PengJiyuan avatar Dec 12 '17 03:12 PengJiyuan

我也想知道...

ctforcp avatar May 24 '22 07:05 ctforcp

大概原理就是用   canvas的事件,基于canvas检测鼠标的坐标,看看在不在图形覆盖的范围内,如果在就认为可以触发。

------------------ 原始邮件 ------------------ 发件人: "ecomfe/zrender" @.>; 发送时间: 2022年5月24日(星期二) 下午3:09 @.>; @.@.>; 主题: Re: [ecomfe/zrender] [大神解答多谢]zrender的事件机制 (#174)

我也想知道...

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

xiaobao143 avatar Jun 24 '22 05:06 xiaobao143