在更改比例/缩放后通过react在窗口调整大小上的svg定位

时间:2018-09-03 20:28:53

标签: javascript html reactjs svg

我正在尝试调整和缩放嵌入div容器中的svg的大小。我的目标是通过props作为React组件来更改te svg。 您可以查看代码沙箱here

我使用视图框和矩阵变换使svg圆在窗口调整大小上保持其位置。我可以在鼠标滚轮上相应地缩放圆圈。为了进行缩放,我在窗口调整大小事件的组件状态下设置了父容器的宽度和高度。

但是,当我在更改窗口调整大小之前进行缩放时,圆并没有保持其位置。

您是否知道如何使我的坐标独立于缩放比例?

我已经尝试了很多方法,例如每次缩放比例(以及视图框)每次都计算一个新的宽度和高度,但这没有用...

如果您知道有什么好的资源可以将我转发给在类似画布上操作svg的方法,那也将非常有帮助!

1 个答案:

答案 0 :(得分:0)

您好,我可以看到您的问题,我已经重构了您的代码并使之正常运行,您可以查看here。 问题在于缩放svg时也会缩放中心点,您需要做的是将缩放比例的倒数应用到中心以将圆放置在div中心中,看一下configurePoisition方法。 我已经在