从 uInt8List Flutter 裁剪图像

Posted

技术标签:

【中文标题】从 uInt8List Flutter 裁剪图像【英文标题】:Crop image from uInt8List Flutter 【发布时间】:2020-05-06 15:56:49 【问题描述】:

我正在开发一个用于发布图像的工具,例如 instagram,

问题是我想剪切图像并发送到服务器方,我的问题是无法从原始图像中剪切图像方,我的图像中有一个 uInt8List。

如何剪切我的图像?

【问题讨论】:

【参考方案1】:

我从 Firebase 的 Vision Api 编写了一个关于 Face 的扩展,它会返回图像字节数据,您可以将其插入到 Image.memory 小部件中。 忘记提及您需要图像库: - https://pub.dev/packages/image

extension FaceExtension on Face 
 Future<Uint8List> getFaceFromImage(File imageFile) async 
    final image = await imageFile.readAsBytes();
    final decodedImage = decodeImage(image);

    final rectangle = this.boundingBox;

    final face = copyCrop(
      decodedImage,
      rectangle.topLeft.dx.toInt(),
      rectangle.topLeft.dy.toInt(),
      rectangle.width.toInt(),
      rectangle.height.toInt(),
    );

    return Uint8List.fromList(encodePng(face));
  

【讨论】:

以上是关于从 uInt8List Flutter 裁剪图像的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Web:不使用 dart:io 裁剪图像

如何从网络图像中获取 Flutter Uint8List?

带有 Uint8List 的图像为空 - Flutter

Flutter 将 Uint8List 传递给 iOS Objective-c

来自数据库的 Flutter Uint8list 字符串呈现为图像

在flutter中将内存图像(如Uint8list)保存为图像文件