libgdx GWT。从 url 创建纹理
libgdx GWT. Create Texture from url
我需要帮助。
我需要显示来自 url 的 jpg 图像。
桌面版工作正常
byte[] imgBytes
new Pixmap(imgBytes, 0, imgBytes.length)
但它在 GWT 项目中不起作用。
我试试这个解决方案
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。
请帮助我
问题出在 url。有些 url 没有 header
Access-Control-Allow-Origin *
这就是图像不显示的原因。我使用 nginx 解决了这个问题。
这里 link 我的设置,我的问题和答案
https://serverfault.com/questions/816080/nginx-proxy-pass-regexp-to-another-domain
我需要帮助。 我需要显示来自 url 的 jpg 图像。
桌面版工作正常
byte[] imgBytes
new Pixmap(imgBytes, 0, imgBytes.length)
但它在 GWT 项目中不起作用。
我试试这个解决方案
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。 请帮助我
问题出在 url。有些 url 没有 header Access-Control-Allow-Origin *
这就是图像不显示的原因。我使用 nginx 解决了这个问题。 这里 link 我的设置,我的问题和答案 https://serverfault.com/questions/816080/nginx-proxy-pass-regexp-to-another-domain