3

我想打开 SVG 文件,操作其中定义的形状并将这些形状渲染到 windows (vista/7/...) 中的屏幕上。

我使用 C++ 构建器。我一直在考虑使用 cairo 或 agg 来渲染形状,但我需要一个 SVG 解析器库来提供渲染器和对 SVG 文件中定义的形状的完全访问权限。

有谁知道我可以用来实现这一目标的库?

出于金钱原因,我不能使用 Qt。

谢谢你的帮助。

4

4 回答 4

1

AGG 源包括一个 SVG 查看器 :-)

即使您正在编写商业产品,Qt 许可证也应该没问题。

于 2012-11-29T13:37:04.313 回答
1

我认为最好的方法是使用 libcairo 的 librsvg。两者功能都非常丰富且易于使用。我可以打开几个 SVG,将它们渲染到屏幕上并处理它们以缩放和移动它们。

于 2012-12-04T10:39:22.353 回答
0

通用的“将 SVG 渲染到 cairo 上下文”解决方案是 librsvg:https ://live.gnome.org/LibRsvg

但是,Qt 和 librsvg 都在 LGPL 下获得许可(这并不禁止您在商业产品中使用它)。

于 2012-11-30T09:05:21.010 回答
0

我最近用 C++ 编写了一个小型 SVG 渲染器库:https ://github.com/igagis/svgren

它使用 Cairo 渲染到屏幕外表面。支持渐变和各种形状。它使用我的另一个名为 svgdom 的库,它实际上加载并提供了 SVG 的 DOM,可以在渲染之前对其进行操作。

于 2016-02-22T13:28:38.803 回答