-
-
Notifications
You must be signed in to change notification settings - Fork 504
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
能定制一个参数 controller?用于在放大缩小拖拽图片后,获取当前图片的 scale 和 position 么? #74
Comments
目的是什么 |
如果有scale 和 position。那么脱离你这个库之外可以做一些其他功能的相关拓展。例如图片编辑,在指定位置添加水印,在指定位置添加其他widget,然后合成,自定义裁剪图片(裁剪成任何大小,任何形状。和该库本身自带裁剪不同)等,太多了,但是如果这两个基本参数都没有,那么其他开发者无法拓展这些功能,又或者你可以告诉我下在哪个源码位置去向外面传递这些参数? |
position,不是你想象中的位置,它的初始是zero,它跟缩放参数有关系,不是屏幕上对应的参数。 还有flutter你说的合成,如果是用截图的方法做,但是图片缩放之后,在区域外面的图片被clip掉了,根本不在图层上面。没有意义。 |
我昨天特意看了下。各种工具。在增加水印,涂鸦的时候。都不会缩放图片。我觉得这样的话flutter才能做。如果你还是有需求。请说明原因。我会考虑暴露出来 |
原因上述已经说明了啊。打个比方,图片是大图,我需要放大后再标注,又或者我不需要你自带的裁剪,我要自己实现一个万能裁剪。就像photo_view 这个库,提供一个controller 可以获取当前的scale和拖动后的offset(position).这是我的需求。 |
不管从什么方面讲提供这些参数都是很有用处的,他还能拿来做很多事,Android native 的photo_view 也会提供这两个参数,去做一些其他比较炫酷的扩展。 |
我说了啊。。你做不了。。你先用官方加scale试试。。能做再说吧。。图片被放大之后会被clip掉。。没有截图。或者你用photo_view的先试试效果。。 万能裁剪。你需要知道图片的算法。如果能做。早就做了。。 |
额,实时上裁剪,我已经做了。。用photo_view 做完了 |
不过,现在已经不重要了,在比较各种性能和用户体验后,决定换方案了,我希望能你能加上上面几个参数,也只是一种建议。。。希望这个库可以更好。没有其他的意思~ |
你说的flutter 的photo_view? 裁剪最好用原生库。不然性能差的一b。我昨天才加上原生库。 加没什么问题。。只是想知道意义。。毕竟时间有限 |
是的,flutter 处理图片性能比较差,在做完 photo_view的裁剪后,发现photo_veiw 和本库在处理大图的放大会导致图片无法渲染,裁剪发现会很慢,虽然可以配合isolate规避掉卡顿问题,但是等待的时间成本很大。目前已经放弃这种方案了 |
放大这个 要找官方优化。。裁剪慢。你可以看看我最近的版本。可以很快了。。 image 那个库 ,强迫dart在ui线程做这个事情。确实不好。我也用了isolate这个。但是会消耗更多时间。。你可以看看我最新的demo |
nice,谢谢作者。 |
@Hitomis 补充一下你可以通过设置下面代码来显示大图,你可以根据你图片大小来设置这个上限 void main() {
WidgetsFlutterBinding.ensureInitialized();
const maxBytes = 768 * (1 << 20);
// Invoke both method names to ensure the correct one gets invoked.
SystemChannels.skia.invokeMethod('setResourceCacheMaxBytes', maxBytes);
SystemChannels.skia.invokeMethod('Skia.setResourceCacheMaxBytes', maxBytes);
runApp(MyApp());
} |
No description provided.
The text was updated successfully, but these errors were encountered: