gpt4 book ai didi

flutter - 使用手势动态调整位置大小和旋转 Flutter 小部件

转载 作者:行者123 更新时间:2023-12-04 04:27:37 26 4
gpt4 key购买 nike

我正在用 flutter 开发一个图像编辑器。为此,我需要添加一个将图像和文本动态添加到屏幕的功能。它们中的每一个都应该能够独立缩放、定位和旋转。应该有一个像 word 或 photoshop 中的 anchor 来指示事件图像并缩放和旋转它们(图像中的示例)。图像应通过拖放定位。
enter image description here
小部件应该能够在 x、y 和 xy 中缩放。
我尝试过的东西
1.matrix_gesture_detector
我认为这个包没有仅在 x 或仅在 y 中缩放的选项。它在 x 和 y 中统一缩放小部件。同样,制作具有图像中类似内容的事件图像也很困难。如果我们像图像一样将事件图像包装在自定义小部件中,小部件也会随图像缩放。例如,如果缩放时边框厚度为 1 像素,则厚度也会缩放使其连线。
2. 使用变换小部件。
当使用变换小部件时,上述小部件指示问题,图像周围的事件图像也随小部件缩放。同样在缩放时的变换中,我必须根据选择的缩放动态调整对齐方式或原点。例如,如果我只想在顶部方向缩放,我必须将 anchor 设置为底部中心。但是这里的 anchor 是相对于小部件的初始大小设置的。因此,当更改 anchor 以在不同方向上缩放时,小部件会跳转到相对于小部件原始大小的相应对齐位置。
3. 使用 Positioned.fromRect
我已经从 StackOverflow 尝试过这个解决方案
Resizing a rotated container in flutter ,但这里的问题是解决方案仅适用于一个小部件。所以我把它包裹在一个堆栈中。但是当旋转时,它会旋转整个堆栈。堆栈采用 Canvas 的高度和宽度。所以变换小部件的 anchor 的对齐是关于那个而不是关于图像的。
注意:我使用 Getx 进行状态管理。如果您可以在 getx 中提供解决方案,那是首选。

最佳答案

您可以扭曲 Stack->Positioned->Transform.rotate->Your Widget。
另请参阅 photobooth 的源代码。

关于flutter - 使用手势动态调整位置大小和旋转 Flutter 小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67843059/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com