linux - 通过 librsvg 缩放矢量图像

标签 linux svg vector-graphics librsvg

是否可以在通过 librsvg 获取其像素缓冲区之前缩放 svg?我可以看到类似 rsvg_pixbuf_from_file_at_zoom 的 API,但它被标记为已弃用。

还有其他方法吗?如果可能的话,我想避免为此使用 cairo。

最佳答案

你没有太多选择,它是:

  • 使用像 rsvg_pixbuf_from_file_at_size() 这样的已弃用函数(这不是坏的,这个函数不太可能很快消失)
  • 或使用 RsvgHandle 对象与 rsvg_handle_new_from_file() 和 rsvg_handle_render_cairo() 在 cairo 表面创建正确的维度

如果你想在最后使用 GdkPixbuf,你可以将 cairo 的使用限制在最低限度:

  • 使用 rsvg_handle_new_from_file() 创建 RsvgHandle
  • 创建 cairo 上下文并设置所需的转换矩阵
  • 使用 rsvg_handle_render_cairo() 渲染 svg
  • 使用 rsvg_handle_get_pixbuf() 获取 pixbuf

关于linux - 通过 librsvg 缩放矢量图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7540901/

相关文章:

javascript - 如何将多个 svgs 转换为 png,因为它们在 html 上?

css - 如何将新的 SVG 图标添加到 Font Awesome

algorithm - 如何找到 3D 空间中的点是否位于截锥内?

matlab - 如何将 Matlab 直方图保存为矢量图形?

c - 如何在 ptracer 中处理 SIGSTOP/SIGCONT?

python - 使用 WMI-Client-Wrapper 执行 exe 并获取输出日志

linux - 在 Linux 中对两个文件进行排序并找到每个文件唯一的行

linux - VNC4Server/vncserver – 在启动 vnc 服务器后始终使用桌面号 1

css - 如何创建自定义导航栏 (WordPress)

html - 从网站将 SVG HTML 路径提取回 SVG 文件