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

Render SVG from file to Cairo canvas in Julia

有没有办法从文件加载 SVG,然后将其渲染到 Cairo canvas?理想情况下是这样的:

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

Rsvg.jl package that wraps the 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);