croppy
Flutter应有的图片裁剪器。
这个包与其他流行包(如image_cropper)的主要区别在于,croppy完全在Flutter中运行,因此在想要裁剪图片时无需启动单独的Activity/View。另一个好处是croppy可以完全定制以满足您的任何图片裁剪需求。
特点
- 类似iOS照片应用的图片裁剪器
- 支持对图像的任何线性变换:缩放、旋转、倾斜、翻转等
- 完全可定制(将在后续版本中提供文档)
开发中
- Material风格图片裁剪器(类似于Google Photos)
- 图像编辑模块(?)(亮度、对比度等)
- 固定纵横比
- 自定义裁剪形状
- 本地化
- 炫酷的动画
入门
从pub安装croppy
dependencies:
croppy: <latest_version>
愉快使用?
用法
目前croppy支持iOS风格的图片裁剪器
final result = await showCupertinoImageCropper(
context,
imageProvider: const NetworkImage('MY_IMAGE_URL'), // Or any other image provider
initialData: CroppableImageData.initial(imageSize: const Size(1080, 1080)),
);
在启动裁剪器之前必须知道图片大小。获得此信息的一种方法是使用obtainImage
final image = await obtainImage(myProvider);
final size = (image.width, image.height);
未来会更 streamlined。仍在思考一种简洁的实现方式。
showCupertinoImageCropper的返回值是CropImageResult,它包含使用image包编码的图像数据。要将其转换为dart:ui的Image,您可以使用await result.asUiImage。请查看image包将图像转换为任何支持的格式(png、jpg等)。
有关完整的可运行示例,请参见./example。
附加信息
此包仍在开发中,因此预计会有一些重大更新。欢迎在GitHub上报告bug/问题。
如果您有疑问,可以直接联系我:[email protected]。
鸣谢
- 感谢daniyarzt提供的
FitAabbInQuadSolver类


