Open Peng-Qian opened 4 days ago
This is auto center function, you can check android / ios album
This issue is not related to picture zooming or recentering but rather to the unexpected behavior of the selection area. For instance, when I drag the selection box upward, the selection area unexpectedly shrinks to the right. Additionally, this functionality is not present on either iOS or Android.
上面的视频可能有误导,上面的视频我并没有调节左右的裁剪区域,我只是调节上下的裁剪区域,第一个视频是我向上拉到顶后,左手边开始缩小。第二个视频是向下拉到顶后,右手边开始缩小,如下图所示
拖动到边界的时候继续拖拽,会试图缩放图片来满足条件的,这也是系统相册的效果
拖动到边界的时候继续拖拽,会试图缩放图片来满足条件的,这也是系统相册的效果
我似乎记得好像以前系统相册是有过类似的功能,但是目前我检查了最新的系统相册,这些功能已经被弃用了,我个人觉得是因为会导致错误操作和误导。我尝试修复了问题,你可以在example中测试一下效果,是否用户体验会更好~
我的pull request中,还修复了一些已知问题和加入了一些新功能:
简而言之,更新后的crop基础功能和基础动画与ios相册最新crop设计的几乎一样~ 希望你喜欢这些更新,如果可以的话,请merge到官方版本中,这样,我也就不用维护个人版本啦~哈哈~
请注意,我并没有做代码清理和优化,为了方便你快速阅读,我尽可能使用已有的方法和代码来实现新功能和修复bug~
首先,很感谢你使用该组件,也感谢你的 pr。
修复了只能向右旋转才能触发剪裁框同时旋转,现在向左向右都可以触发 这个确实是一个问题。
修复了旋转图片并要剪裁框同时旋转时候,连续旋转会导致图片变小。
scaleToFit 有多个地方使用到了,小心修改。
修改为动画,需要注意历史状态的保存问题。
正确的情况是因为根据 新旧 widget 的参数,对当前状态进行修改。当前直接重置,只是因为情况太多了,没法一一进行处理。
updateCropRect 方法,你要考虑图片已经发生了旋转的情况,不是简单跟 imageRect 比较就可以了的
除了 修复了只能向右旋转才能触发剪裁框同时旋转,现在向左向右都可以触发
,其他改进,建议保持在您的个人分支上面。
强制重置设置 , 这个问题,我空了再看下。
updateCropRect 方法,你要考虑图片已经发生了旋转的情况,不是简单跟 imageRect 比较就可以了的
感谢你的tips,确实很快发现并解决了两个bug~
Version
^9.0.6
Platforms
Android, iOS
Device Model
emulator, iPhone 15 Pro Plus
flutter info
How to reproduce?
Logs
No response
Example code (optional)
Contact
No response