Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: 修复旋转后,拖拽缩放的BUG #16

Merged
merged 2 commits into from
Jun 9, 2021
Merged

fix: 修复旋转后,拖拽缩放的BUG #16

merged 2 commits into from
Jun 9, 2021

Conversation

ggymm
Copy link
Contributor

@ggymm ggymm commented Jun 9, 2021

No description provided.

Copy link
Owner

@pengxiaotian pengxiaotian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good.

Copy link
Owner

@pengxiaotian pengxiaotian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

之前借鉴过谭大神的部分代码,但是这部分还没想好

@ggymm
Copy link
Contributor Author

ggymm commented Jun 9, 2021

我主要借鉴这里代码:https://github.com/woai3c/visual-drag-demo
但是他这个缩放实现没用translate,而是遍历所有组件计算缩放后的大小。我就把这块改了
顺便合并了多余的代码,整合了部分判断逻辑

@pengxiaotian
Copy link
Owner

good.

我主要借鉴这里代码:https://github.com/woai3c/visual-drag-demo
但是他这个缩放实现没用translate,而是遍历所有组件计算缩放后的大小。我就把这块改了
顺便合并了多余的代码,整合了部分判断逻辑

我可以先把 第二个commit 合进来。 修改缩放那个commit,等等再说吧

@ggymm
Copy link
Contributor Author

ggymm commented Jun 9, 2021

good.

我主要借鉴这里代码:https://github.com/woai3c/visual-drag-demo
但是他这个缩放实现没用translate,而是遍历所有组件计算缩放后的大小。我就把这块改了
顺便合并了多余的代码,整合了部分判断逻辑

我可以先把 第二个commit 合进来。 修改缩放那个commit,等等再说吧

@pengxiaotian
Copy link
Owner

好像不能 merge 单独一个commit。。。

@ggymm
Copy link
Contributor Author

ggymm commented Jun 9, 2021

好像不能 merge 单独一个commit。。。

那合并再改吧

@pengxiaotian pengxiaotian merged commit 31ccf8a into pengxiaotian:main Jun 9, 2021
@ggymm
Copy link
Contributor Author

ggymm commented Jun 9, 2021

好像不能 merge 单独一个commit。。。

那合并再改吧

我用js写的,不太会改ts,合并之后你再改一下这块代码吧

@pengxiaotian
Copy link
Owner

没事,我 revert 这个commit了。
我想起来,当时我就是参考的谭大神的这个项目,之所以没改 就是因为他的实现太繁琐了,虽然很数学,但是简单一下不好么 😁

@ggymm
Copy link
Contributor Author

ggymm commented Jun 9, 2021

没事,我 revert 这个commit了。
我想起来,当时我就是参考的谭大神的这个项目,之所以没改 就是因为他的实现太繁琐了,虽然很数学,但是简单一下不好么 😁

实现是有点麻烦,所以我简化了代码,将原来的8个方法合并。然后就容易理解了
不过目前确实是旋转后的元素缩放全是乱套的了

@ggymm
Copy link
Contributor Author

ggymm commented Jun 9, 2021

这个项目也有类似的代码,我简单看了下逻辑基本是一样的
https://gitee.com/refline/refline.js/blob/master/src/utils.ts

@pengxiaotian
Copy link
Owner

目前你看着乱是因为咱俩的参考系是不一样的,我的是组件外层的虚线框,你的是组件的中心,这也是我之前纠结的要不要改的原因。

@ggymm
Copy link
Contributor Author

ggymm commented Jun 9, 2021

目前你看着乱是因为咱俩的参考系是不一样的,我的是组件外层的虚线框,你的是组件的中心,这也是我之前纠结的要不要改的原因。

不是乱,是错了。你可以看下这篇文章woai3c/Front-end-articles#20
按文章里的例子,组件旋转180度后,拖拽下边框的效果和没有旋转是完全相反的
按我理解,这个和以按照什么参考系是没有关系的吧。
因为组件旋转180度后和虚线框是完全重合的

@pengxiaotian
Copy link
Owner

image

我的缩放是改变虚线框,而不是组件本身

@pengxiaotian
Copy link
Owner

我后边加个开关选项,让用户自己选择,缩放的目标对象。🤔

@ggymm
Copy link
Contributor Author

ggymm commented Jul 9, 2021

我后边加个开关选项,让用户自己选择,缩放的目标对象。🤔

关注一下: woai3c/visual-drag-demo#26
不过,他给的方案有点小问题,用我在pr里面回复的代码应该没有问题了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants