我想打开SVG文件,操纵其中定义的形状,并将这些形状渲染到windows中的屏幕上(vista / 7 /...).
我使用C ++ builder。我一直在考虑使用cairo或agg来渲染形状,但我需要一个SVG解析器库,它提供渲染器和对SVG文件中定义的形状的完全访问权。
有没有人知道我可以使用的库来实现这个目标?
我不能用Qt来赚钱。
感谢您的帮助。
答案 0 :(得分:1)
AGG源包括一个SVG查看器: - )
即使您正在编写商业产品,Qt许可证也应该没问题。
答案 1 :(得分:1)
这是最好的方法,我认为,librsvg与libcairo。两者都非常丰富且易于使用。我可以打开几个SVG,将它们渲染到屏幕上并处理它们以进行缩放和移动。
答案 2 :(得分:0)
通用“将SVG渲染到cairo上下文”解决方案是librsvg:https://live.gnome.org/LibRsvg
但是,Qt和librsvg都是根据LGPL许可的(不禁止您在商业产品中使用它)。
答案 3 :(得分:0)
我最近在C ++中整理了一个小型SVG渲染器库:https://github.com/igagis/svgren
它使用Cairo渲染到离屏表面。支持渐变和各种形状。 它使用了另一个名为svgdom的库,它实际上加载并提供了一个可以在渲染之前进行操作的SVG DOM。