Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT ClientBundle(ImageBundle)中的用户svg图像_Java_Gwt_Svg_Clientbundle - Fatal编程技术网

Java GWT ClientBundle(ImageBundle)中的用户svg图像

Java GWT ClientBundle(ImageBundle)中的用户svg图像,java,gwt,svg,clientbundle,Java,Gwt,Svg,Clientbundle,我通常使用GWT ClientBundle来管理我的应用程序中的图像,如下所示 @Source("icons/info.png") ImageResource info(); 不,我想切换到.svg图形,但我没有找到在SVGResource之类的ClientBundle中使用svg的方法。我知道GWT支持svg,并且有可能在GWT中插入这些图形,但我想利用ClientBundle的优势+svg的优势。 有人已经解决了这个问题吗?有。它支持最新的GWT版本(2.7.0),并且似乎已经成熟 他们实

我通常使用GWT ClientBundle来管理我的应用程序中的图像,如下所示

@Source("icons/info.png")
ImageResource info();
不,我想切换到.svg图形,但我没有找到在SVGResource之类的ClientBundle中使用svg的方法。我知道GWT支持svg,并且有可能在GWT中插入这些图形,但我想利用ClientBundle的优势+svg的优势。 有人已经解决了这个问题吗?

有。它支持最新的GWT版本(2.7.0),并且似乎已经成熟

他们实现并添加了可以像ImageResource一样捆绑的类

@Source(...)
SVGResource bundledResource;

ImageResource
用于光栅图像,GWT编译器可以以某种方式对其进行优化,您可以查询其大小

对于SVG之类的矢量图像,您可以简单地使用带有
@MimeType(“image/SVG+xml”)
注释的
DataResource

@Source("icons/info.svg")
@MimeType("image/svg+xml")
DataResource info();
请注意,您不能在
CssResource
中使用
@sprite
,但您可以使用
@URL
获取要在
背景图像中使用的资源URL
您也不能将资源传递给
图像
小部件,但是您可以只传递它的
getSafeUri()



如果希望SVG内容而不是将其用作图像URL,则可以使用
TextResource
。您必须将其作为
setInnerHTML
传递给元素或
setHTML
传递给小部件,以便浏览器对其进行解析。

因此,我遇到了一些svg图形的问题,这些图形可能不是此库的有效格式。我忘了说。但与兼容的SVG相比,它的工作非常有魅力。我认为有一个标志可以忽略验证,但Thomas Broyer解决方案非常好,您应该相信,数据资源解决方案与MimeType的结合对我很好。非常感谢。