我正在努力在GWT的画布上绘制一个简单的图像。这是我的计划:
public class BlahTest implements EntryPoint {
private final Images images = GWT.create(Images.class);
public void onModuleLoad() {
Canvas canvas = Canvas.createIfSupported();
Context2d ctx = canvas.getContext2d();
ctx.setFillStyle("blue");
ctx.fillRect(10, 10, 30, 30);
Image img = new Image(images.pencil());
ImageElement imgEl = ImageElement.as(img.getElement());
canvas.getContext2d().drawImage(imgEl, 50, 50);
RootLayoutPanel rp = RootLayoutPanel.get();
rp.add(canvas);
}
}
图像界面如下所示,Pencil.png位于同一文件夹中:
public interface Images extends ClientBundle {
@Source("Pencil.png")
ImageResource pencil();
}
根本不绘制图像。我也试过用img.addLoadHandler()等待图像加载,但仍然没有绘制....
有什么建议吗?
编辑:正如Aki所指出的,这似乎是由于GWT 2.6版本中修复的错误答案 0 :(得分:0)
你几乎就在那里。只需替换这个
Image img = new Image(images.pencil());
与
Image img = new Image(images.pencil()。getSafeUri());