7

我正在尝试 Dart 语言和 HTML5 Canvas 元素,但我遇到了一个问题。我不知道如何在 Dart 中加载图像。我可以得到 CanvasRenderingContext2D 并且我可以调用 fillText() 和 fillRect() 并且一切正常,但我试图弄清楚如何加载图像并使用 drawImage 绘制。

4

3 回答 3

10

创建并加载图像

ImageElement image = new ImageElement(src: "my_image.png");
image.onLoad.listen((e) {
    // Draw once the image is loaded
});

加载后在画布上绘制上图

context.drawImage(image, destX, destY);
于 2012-07-22T13:41:36.547 回答
9

较新的图像加载语法:

readFile() {
    ImageElement image = new ImageElement(src: "plant.png");
    document.body.nodes.add(image);
    image.onLoad.listen(onData, onError: onError, onDone: onDone, cancelOnError: true);
  }

  onData(Event e) {
    print("success: ");
  }

  onError(Event e) {
    print("error: $e");
  }

  onDone() {
    print("done");
  }
于 2013-06-01T20:35:33.560 回答
2

这是另一种方法:

void main() {
  ImageElement image = new ImageElement(src: "pic.png");
  img.onLoad.listen(onData);
  img.onError.listen(onError);
}

void onData(Event e) {
  print("Load success");
}

void onError(Event e) {
  print("Error: $e");
}
于 2014-02-28T14:12:49.517 回答