GWT画布2D绘制图像

GWT画布2D绘制图像,gwt,canvas,Gwt,Canvas,这是我的密码。我想把图像画到画布上。 如果最后一行: RootPanel.get(“canvas”).add(img) 没有被注释掉 但是,随着行评论,似乎图像不会加载左右。有什么想法吗?您可以使用图像加载器,例如:。您是否已将图像放在WEB-INF文件夹中?这就是GWT从中加载图像的地方。通常,建议创建一个“images”文件夹,以便您可以使用“images/face.png”加载它。必须将图像小部件添加到页面以触发图像加载。让它隐形: /** * This is the entry poi

这是我的密码。我想把图像画到画布上。 如果最后一行:

RootPanel.get(“canvas”).add(img)

没有被注释掉


但是,随着行评论,似乎图像不会加载左右。有什么想法吗?

您可以使用图像加载器,例如:。

您是否已将图像放在WEB-INF文件夹中?这就是GWT从中加载图像的地方。通常,建议创建一个“images”文件夹,以便您可以使用“images/face.png”加载它。

必须将图像小部件添加到页面以触发图像加载。让它隐形:

/**
 * This is the entry point method.
 */
public void onModuleLoad() {
    Canvas canvas = Canvas.createIfSupported();
    final Context2d context2d = canvas.getContext2d();

    RootPanel.get("canvas").add(canvas);
    Image img = new Image("face.png");
    final ImageElement face = ImageElement.as(img.getElement());
    img.addLoadHandler(new LoadHandler() {

        @Override
        public void onLoad(LoadEvent event) {
            context2d.drawImage(face, 0, 0);
        }
    });
    //RootPanel.get("canvas").add(img);
}

这对我来说很有效,除了我必须将img.setVisible(false)设置为可见;在装载机内部。
public void onModuleLoad() {    
    Canvas canvas = Canvas.createIfSupported();
    final Context2d context2d = canvas.getContext2d();

    RootPanel.get().add(canvas);
    Image img = new Image("face.png");
    final ImageElement face = ImageElement.as(img.getElement());
    img.addLoadHandler(new LoadHandler() {

        @Override
        public void onLoad(LoadEvent event) {
            context2d.drawImage(face, 0, 0);
        }
    });

    img.setVisible(false);
    RootPanel.get().add(img);
}