有没有办法从文件加载SVG然后将其渲染到Cairo画布?理想情况如下:
image = read_from_svg("my.svg")
set_source_surface(cr, image, 0, 0)
paint(cr)
答案 0 :(得分:1)
包含Rsvg.jl库的rsvg包。该软件包可以与Pkg.add("Rsvg")
一起安装。您可能必须对本机Cairo和Rsvg库的安装进行故障排除 - 程序包将尝试自动执行此操作,但这是基于众多不同配置的难题。
使用该包,似乎可以做你想要的。从包的自述文件:
using Rsvg
using Cairo
filename_in = "a4.svg"
r = Rsvg.handle_new_from_file(filename_in);
d = Rsvg.handle_get_dimensions(r);
cs = Cairo.CairoImageSurface(d.width,d.height,Cairo.FORMAT_ARGB32);
c = Cairo.CairoContext(cs);
Rsvg.handle_render_cairo(c,r);