Dart Canvas未绘制图像

Dart Canvas not drawing image

本文关键字:图像 绘制 Canvas Dart      更新时间:2023-09-26

试图使用Canvas和Dart来渲染图像,但我运气不佳。

有人能给我指正确的方向吗?请参阅所附代码。

import 'dart:html';
class Board{
  CanvasElement canvas;
  CanvasRenderingContext2D context;
  Board(){
    canvas = new CanvasElement(width: 600, height: 600);
    context = canvas.context2D;
  }
  getCanvas(){
    return canvas;
  }
  getContext(){
    return context;
  }
}
class Player{
  ImageElement player;
  CanvasRenderingContext2D context;
  CanvasElement canvas;
  Player(theCanvas, theContext){
    canvas = theCanvas;  
    context = theContext;
  }
  drawPlayer(){
    player = new Element.tag("img");
    player.id = "#thePlayer";
    player.src = "img/player.png";
    context.drawImage(player, 100, 100);
  }
  getPlayer(){
    return player;
  }
}
void main() {
  Board b = new Board();
  Player p = new Player(b.getCanvas(), b.getContext());
  p.drawPlayer(); 
}

这是因为在Dart VM运行时,映像尚未从服务器加载。

为了纠正这一点,在向玩家展示之前,我检查了图像是否已加载。

player.onLoad.listen( (value) => context.drawImage(player, 0, 0) );