我有一个生成SVG文件的GWT应用程序。
我想将一些URL中的图像嵌入到我的SVG中,但是我想要保持正确的宽高比来调整大小。
我是通过使用GWT中的Image类加载图像,并检查高度到宽度,然后做一些求和来找到我需要它在SVG中的高度和宽度。
我将图像嵌入到SVG中,如下所示:
<image href="http://some.image/URL.png" height="100" x="50" width="150" y="50"></image>
我遇到的问题是当我执行以下操作时:
Image image = new Image(sourceURL);
int width = image.getWidth();
int height = image.getHeight();
....
我第一次为特定网址执行此操作时,宽度或高度的值将返回0。 不幸的是,在循环中重试似乎并没有解决问题,但如果我要求我的应用程序再次生成SVG,它就可以工作。
有什么想法吗?
答案 0 :(得分:4)
好的,抱歉这不是一个答案,但评论太小,无法提供一些代码。
我尝试了以下内容并且完美无缺。所以你应该尝试用一小段代码来隔离你的问题:
@Override
public void onModuleLoad() {
final Image image = new Image("https://www.google.com/images/srpr/logo3w.png");
image.addLoadHandler(new LoadHandler() {
@Override
public void onLoad(LoadEvent event) {
Window.alert(image.getWidth() + " " + image.getHeight());
}
});
RootLayoutPanel.get().add(image);
}