Closed k186 closed 2 years ago
建议不用记录锁死原点,直接拖锚点的时候就设置 transform-origin 值为 拖拽的点的对立点 就可以满足锁死缩放点了
开启旋转后,缩放,在一定范围内能正常锁定顶点缩放,但是超出一定范围后,缩放顶点会变动,造成缩放同时整体结构偏移;gitbook 里面就能复现 https://www.gausszhou.top/vue-drag-resize-rotate/#/basic/basic-with-rotatable;
这个应该是达到父元素大小了,导致无法resize
开启旋转后,缩放,在一定范围内能正常锁定顶点缩放,但是超出一定范围后,缩放顶点会变动,造成缩放同时整体结构偏移;gitbook 里面就能复现 https://www.gausszhou.top/vue-drag-resize-rotate/#/basic/basic-with-rotatable;
这个应该是达到父元素大小了,导致无法resize
的确是parent 那个限制,放开就可以了;3Q
建议不用记录锁死原点,直接拖锚点的时候就设置 transform-origin 值为 拖拽的点的对立点 就可以满足锁死缩放点了
谢谢您的建议!
直接改变
transform-origin
,会导致原有的计算方式失效,原因是坐标是通过角度+旋转中心点计算的。这样每次修改origin
都需要重新计算。暂时没有好的思路还不会改动这一块,之后有时间会考虑用代数的方式来重构。
https://github.com/shenhudong/snapping-demo/wiki/corner-handle#%E8%87%AA%E7%94%B1%E4%BC%B8%E7%BC%A9 这个有详细实现说明,今天找了半天找到了,19年看到过当时没存
https://github.com/developergovindgupta/move-rotate-resizer 这个哥们用的就是我说的那个方法重设origin
https://github.com/developergovindgupta/move-rotate-resizer 这个哥们用的就是我说的那个方法重设origin
嗯,谢谢,我看下
主要是我计划的是需要传出的值符合一个固定的规则,导入同一份数据,渲染结果要是一致的才行,这样可能需要将
origin
的值也进行导出才行
组内同事提了另外一种方法,坐标点和旋转点都为图形的中心点,这样旋转缩放都是以中心点为缩放中心,目前看ps这些设计软件默认都是这种实现形式,不过这种实现带来的问题就是实际渲染中有些功能实现,比如参考线的实现可能要考虑获取的坐标是实际4个顶点的坐标
开启旋转后,缩放,在一定范围内能正常锁定顶点缩放,但是超出一定范围后,缩放顶点会变动,造成缩放同时整体结构偏移;gitbook 里面就能复现 https://www.gausszhou.top/vue-drag-resize-rotate/#/basic/basic-with-rotatable;