我正在尝试使用图片记录器将图像写到 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;
  }
....

10-08 02:02