Flutter好用的图片库
Posted 一个小码农的成长史
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter好用的图片库相关的知识,希望对你有一定的参考价值。
extended_image
功能最全面的图片展示库
主要功能
缓存网络图片
加载状态(正在加载,完成,失败)
拖拽缩放图片
图片编辑(裁剪,旋转,翻转)
图片预览(跟微信掘金一样)
滑动退出效果(跟微信掘金一样)
设置圆角,边框
支持进度显示
图片预览上滑显示详情(跟图虫一样)
支持进度显示
增加loadingProgress参数,用于显示进度。
ExtendedImage.network(
'https://raw.githubusercontent.com/fluttercandies/flutter_candies/master/gif/extended_text/special_text.jpg',
handleLoadingProgress: true,
clearMemoryCacheIfFailed: true,
clearMemoryCacheWhenDispose: true,
cache: false,
loadStateChanged: (ExtendedImageState state) {
if (state.extendedImageLoadState == LoadState.loading) {
final loadingProgress = state.loadingProgress;
final progress = loadingProgress?.expectedTotalBytes != null
? loadingProgress.cumulativeBytesLoaded /
loadingProgress.expectedTotalBytes
: null;
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
SizedBox(
width: 150.0,
child: LinearProgressIndicator(
value: progress,
),
),
SizedBox(
height: 10.0,
),
Text('${((progress ?? 0.0) * 100).toInt()}%'),
],
),
);
}
return null;
},
),
图片预览上滑显示详情(跟图虫一样)
当时在制作图片预览功能的时候,就暴露多了足够的api,提供给用户自定义各种效果。
至此pic_swiper.dart已拥有以下功能:
缩放
平移
上下一页图片
拖动退出预览
上滑显示详情
extended_image_library
flutter_image_editor可以说是低调为extended_image量身打造的原生插件,支持旋转裁剪翻转,extended_image负责图片编辑UI,flutter_image_editor提供原生裁剪图片数据能力。由于dart image库在处理图片的效率问题,原生库(期待纯C++库)就有了很大的优势(大图片可以有10倍速度的提升)。
flutter_wechat_assets_picker
出自Flutter劝退师Alex之手,
是一个对标微信的多选资源选择器,99%接近于原生微信的操作,纯Dart编写,支持选择的同时也支持预览资源。支持如下功能:
图片资源支持
视频资源支持
国际化支持
自定义文本支持
以上是关于Flutter好用的图片库的主要内容,如果未能解决你的问题,请参考以下文章
错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段
Flutter从相册选择图片和相机拍照(image_picker)
在 webview_flutter 中启用捏合和缩放,在哪里添加代码片段 [this.webView.getSettings().setBuiltInZoomControls(true);]
Flutterflutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘(代码片段
flutter解决 dart:html 只支持 flutter_web 其他平台编译报错 Avoid using web-only libraries outside Flutter web(代码片段