【问题标题】:libgdx GWT. Create Texture from urllibgdx GWT。从 url 创建纹理
【发布时间】:2016-11-21 20:32:27
【问题描述】:

我需要帮助。 我需要从 url 显示 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。 请帮帮我

【问题讨论】:

    标签: java gwt libgdx


    【解决方案1】:

    问题出在网址中。有些网址没有标头 访问控制允许来源 *

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多