GWT使用ImageResource创建图像



我的问题非常简单。但希望我能有一个明确的答案。我们可以通过多种方式创建GWT映像。

Image image = new Image ( (ImageResource)imageRes);
Image image = new Image ( (ImageResource)imageRes.getSafeUri() );
Image image = new Image ();
image.setUrl((ImageResource)imageRes.getSafeUri().asString() );

我的问题是:使用ImageResouce创建新图像的这三种方法之间有什么区别。第一次加载时,哪一个最好或更快?

感谢

首先,不应该使用最后两个。

ImageResource在技术上代表"精灵"图像中的一个区域:它有一个精灵的URL和该图像上区域的坐标。在许多浏览器中,对于大多数图像,URL实际上是data: URL,区域将代表整个图像。这可以使用@ImageOptions(preventInlining=true)在每张图像的基础上进行控制,也可以在gwt.xml上使用set-property进行全局控制。换句话说,您的代码不应该依赖它,并且应该始终将ImageResource视为精灵图像中的区域
仅供参考,在默认情况下,实际使用精灵图像的情况是不支持data: URL的IE6/7,以及太大而无法容纳在data: URL中的图像(所有浏览器)。

然而,这正是您在最后两种情况下所做的:只使用ImageResource的URL,就好像它(可能)不是一个精灵图像一样。

相关内容

  • 没有找到相关文章

最新更新