libgdx GWT。从URL创建纹理

时间:2016-10-28 10:34:27

标签: java gwt libgdx

我需要帮助。 我需要从网址显示jpg图像。

桌面版工作正常

byte[] imgBytes
new Pixmap(imgBytes, 0, imgBytes.length)

但它在GWT项目中无效。 我试试这个解决方案"Tainted canvases may not be loaded" Cross domain issue with WebGL textures

public void downloadPixmap(final String url, final DownloadPixmapResponse response) {
    final RootPanel root = RootPanel.get("embed-html");
    final Image img = new Image(url);
    img.getElement().setAttribute("crossOrigin", "anonymous");
    img.addLoadHandler(new LoadHandler() {

        @Override
        public void onLoad(LoadEvent event) {
            HtmlLauncher.application.getPreloader().images.put(url, ImageElement.as(img.getElement()));
            response.downloadComplete(new Pixmap(Gdx.files.internal(url)));
            root.remove(img);
        }
    });
    root.add(img);
}

interface DownloadPixmapResponse {
     void downloadComplete(Pixmap pixmap);       
     void downloadFailed(Throwable e);
}

但它仅适用于Chrome浏览器。它在Mozilla Firefox中不起作用。 请帮帮我

1 个答案:

答案 0 :(得分:0)

问题在于网址。有些网址没有标题 访问控制 - 允许 - 来源*

这就是图像不显示的原因。我用nginx解决了这个问题。 这里链接到我的设置,我的问题和ansvers https://serverfault.com/questions/816080/nginx-proxy-pass-regexp-to-another-domain