flutter - 在画布上从相机中绘制照片?
问题描述
我想用将文件存储在手机 sd 卡上的 image_picker 库拍照。
然后我想加载这个图像,以便我可以通过在画布上绘制图像来使用 CustomPaint 小部件绘制它。
我尝试使用 FileImage 和 Image.file 加载图像,但这不起作用,因为 CustomPaint 中的“图像”扩展了 NativeFieldWrapperClass2 并且不是图像小部件
有谁知道如何加载照片并将其绘制在画布上?
解决方案
您需要的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
。您可能需要一个变换来缩小它。
推荐阅读
- meteor - 当我将 Meteor 从 1.6.1.3 更新到 1.7 时,网络浏览器无法再正确加载
- scipy - 某物与自身的余弦距离是多少?
- routing - Flutter 通过 Route 和 Drawer 导航屏幕:使用 Pop、PushNamed 或 PushReplacementNamed
- amazon-web-services - 如何使用 AWS TransferManager 从 S3 下载多个 ZIP 文件
- ios - Swift - 枚举采用整数并确定范围
- python - 阻止rect移动moveip pygame
- c - 用C语言将二进制文件读入HashTable
- python - Phaser 2 不使用 Django 将图像加载到游戏中
- fabricjs - Fabricjs 文本选择模式或编辑模式
- mysql - 我的 spark sql 查询或数据框在哪里执行?