我在做一个用围棋写的应用程序.它使用GOTK3,安装了Librsvg,我可以使用gtk.ImageNewFromFile(file-path-to-svg)
创建(然后显示)SVG图像.
现在,我想以编程方式从源代码中内联的SVG创建一个图像……大概是这样的:
color := "#FF0000"
redSvg :=
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n" +
"<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"32px\" height=\"32px\" viewBox=\"0 0 32 32\" enable-background=\"new 0 0 32 32\" xml:space=\"preserve\">\n" +
" <rect fill=\"" + color + "\" width=\"32\" height=\"32\"/>\n" +
"</svg>"
image, err := ImageNewFromSvg(redSvg)
.
.
.
func ImageNewFromSvg(svg string) (*gtk.Image, error) {
?
}
...我需要一些帮助来实施ImageNewFromSvg()
.Gotk3没有ImageNewFromSvg()
API,但它有ImageNewFromPixbuf()
.
我曾try 实现从字符串(使用SVG标记)创建一个Pixbuf,但我还没能做到.
可以从源代码中定义的内联SVG创建图像吗?如果是这样的话,ImageNewFromSvg()
的实施会是什么?