Java GWT ClientBundle(ImageBundle)中的用户svg图像
我通常使用GWT ClientBundle来管理我的应用程序中的图像,如下所示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),并且似乎已经成熟 他们实
@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的结合对我很好。非常感谢。