zrender icon indicating copy to clipboard operation
zrender copied to clipboard

监听resize之后,试图没有刷新

Open wayward-man opened this issue 3 years ago • 9 comments

我绘制一个图形,是通过 zr.getWidth()/2 绘制在中间位置的,当我resize的时候 调用zr.resize(),我从dom可以看到dom宽度已经正常变化了,但是我里面的图形没有变化,这是正常的吗? 我调用了 zr.resize(),zr.refresh,都没有刷新,或者说我如何可以在resize后图形自动刷新?

wayward-man avatar Aug 18 '21 14:08 wayward-man

resize 之后,refreshImmediately也不行

wayward-man avatar Aug 18 '21 14:08 wayward-man

你的图形有根据画布高宽计算位置吗?

pissang avatar Sep 16 '21 01:09 pissang

你的图形有根据画布高宽计算位置吗?

有啊,就是根据画布的宽高来计算位置的,现在想知道 如何在resize后 触发这个更新

wayward-man avatar Sep 16 '21 06:09 wayward-man

@wayward-man 发下代码?

pissang avatar Sep 16 '21 06:09 pissang

@pissang

做了一个简单的例子,就是resize之后,canvas大小都变了,但是圆没在正中间 https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-forked-cgx1t?file=/src/index.tsx

wayward-man avatar Sep 16 '21 10:09 wayward-man

@pissang I look forward to your early reply, haaaaa~

wayward-man avatar Sep 16 '21 13:09 wayward-man

resize 的时候这个 cx 和 cy 没有重新计算

pissang avatar Sep 17 '21 01:09 pissang

@pissang 所以zr.resize() 还不够,不能自动更新是吧。需要自己所有绘制图的地方自己再次,重新再次获取 画布大小吗,由于我项目中画的地方较多且分散,有没有统一更新的api呀

wayward-man avatar Sep 17 '21 03:09 wayward-man

@wayward-man 统一更新是业务逻辑的问题,zrender 传入的都是像素位置

pissang avatar Sep 17 '21 04:09 pissang

@wayward-man 解决了吗?我的也是 resize 后图形不会自动刷新

ufxelv80 avatar Dec 15 '23 06:12 ufxelv80