Как загрузить изображение в Dart

Я пробую язык Dart и элемент холста HTML5, но я застрял с одной проблемой. Я не знаю, как загрузить изображение в Dart. Я могу получить CanvasRenderingContext2D и с этим я могу вызвать fillText () и fillRect () и все работает, но я пытаюсь выяснить, как загрузить изображение и рисовать с помощью drawImage.

3 ответов


создать и загрузить изображения

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

нарисовать изображение на холсте после его загрузки

context.drawImage(image, destX, destY);

новый синтаксис загрузки изображения:

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");
  }

Это другой способ сделать это:

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");
}