使用GWT检查图像的大小

时间:2012-03-09 23:08:39

标签: java javascript gwt svg gwt2

我有一个生成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,它就可以工作。

有什么想法吗?

1 个答案:

答案 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);
    }