首页 > 解决方案 > 在画布上从相机中绘制照片?

问题描述

我想用将文件存储在手机 sd 卡上的 image_picker 库拍照。

然后我想加载这个图像,以便我可以通过在画布上绘制图像来使用 CustomPaint 小部件绘制它。

我尝试使用 FileImage 和 Image.file 加载图像,但这不起作用,因为 CustomPaint 中的“图像”扩展了 NativeFieldWrapperClass2 并且不是图像小部件

有谁知道如何加载照片并将其绘制在画布上?

标签: flutter

解决方案


您需要的ui包版本Image(与名为 的小部件不同Image

导入ui包,并创建一个方法来返回ui.Image

import 'dart:ui' as ui;

  Future<ui.Image> load(String filename) async {
    var file = File(filename);
    var bytes = await file.readAsBytes();
    var codec = await ui.instantiateImageCodec(bytes);
    var fi = await codec.getNextFrame();
    return fi.image;
  }

用来画画ui.Image。您可能需要一个变换来缩小它。


推荐阅读