我正在尝试使用图片记录器将图像写到 Canvas 上...
drawImage需要dart:ui图像
我已经成功导入 Assets 图像,但是网络图像出现以下错误:
到目前为止,代码已经尝试过了..
netImage.obtainKey(new ImageConfiguration()).then((val) {
var load = netImage.load(val);
load.addListener((listener, err) async {
ImageInfo imageInfo;
setState(() => imageInfo = listener);
imageInfo.image.toByteData().then((ss) {
Uint8List lst = new Uint8List.view(ss.buffer);
ui.instantiateImageCodec(lst).then((val) {
val.getNextFrame().then((vaal) {
imagetoDraw = vaal.image;
});
});
});
});
});
最佳答案
我遇到了同样的问题。我通过以下代码段解决了该问题:
...
Future<ui.Image> getImage(String path) async {
Completer<ImageInfo> completer = Completer();
var img = new NetworkImage(path);
img.resolve(ImageConfiguration()).addListener(ImageStreamListener((ImageInfo info,bool _){
completer.complete(info);
}));
ImageInfo imageInfo = await completer.future;
return imageInfo.image;
}
....