Flutter 颤振-相机拍摄的照片上的抽绳

Flutter 颤振-相机拍摄的照片上的抽绳,flutter,dart,mobile,Flutter,Dart,Mobile,我用它来尝试在我的图像上绘制文本我的问题是如何获得image.drawString()中第一个参数所需的图像当我试图传递的图像是由相机插件捕获的图像时 final path=join( //将图片存储在临时目录中。 //使用'path_provider'插件查找临时目录。 (等待getTemporaryDirectory())。路径, “${DateTime.now()}.png”, ); //尝试拍摄照片并记录保存的位置。 等待控制器。拍照(路径); //这不管用 img.Image=Imag

我用它来尝试在我的图像上绘制文本我的问题是如何获得image.drawString()中第一个参数所需的图像当我试图传递的图像是由相机插件捕获的图像时

final path=join(
//将图片存储在临时目录中。
//使用'path_provider'插件查找临时目录。
(等待getTemporaryDirectory())。路径,
“${DateTime.now()}.png”,
);
//尝试拍摄照片并记录保存的位置。
等待控制器。拍照(路径);
//这不管用
img.Image=Image.file(文件(路径))
img.drawString(图像,img.arial_24,50,50,“Hello World”);
我得到这个错误:

'图像(其中图像在中定义 myflatterpath/packages/flatter/lib/src/widgets/image.dart)“”不能为空 分配给“Image”类型的变量(其中Image在 /myflatterpath/flatter/.pub cache/hosted/pub.dartlang.org/image-2.1.4/lib/src/image.dart)'


您正在将颤振中的
Image
小部件分配给
Image
包中的
img.Image
变量。这些是完全独立的数据类型

要执行所需操作,需要创建一个
img.Image
对象。由于图像源是PNG文件(根据文件扩展名猜测),因此需要将其解码为原始像素数据。这可以通过已包含在您拥有的
图像
包中的来完成

img.Image Image=img.PngDecoder().decodeImage(等待文件(路径).readAsBytes());

这将从PNG文件中创建一个
img.Image
,而不是
Image
小部件。

这是否回答了您的问题?