在Julia中将SVG从文件渲染到Cairo画布

时间:2016-06-27 16:27:39

标签: julia cairo

有没有办法从文件加载SVG然后将其渲染到Cairo画布?理想情况如下:

image = read_from_svg("my.svg")
set_source_surface(cr, image, 0, 0)
paint(cr)

1 个答案:

答案 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);