croppy

Pub Version

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:uiImage,您可以使用await result.asUiImage。请查看image包将图像转换为任何支持的格式(png、jpg等)。

有关完整的可运行示例,请参见./example

附加信息

此包仍在开发中,因此预计会有一些重大更新。欢迎在GitHub上报告bug/问题。

如果您有疑问,可以直接联系我:[email protected]

鸣谢

  • 感谢daniyarzt提供的FitAabbInQuadSolver

GitHub

查看 Github