在C ++中渲染vectorgraphics(.svg)

我和一个朋友正在制作一个2D游戏,其中graphics将是.svg文件,我们可以通过先对它们进行光栅化,或者将它们直接渲染到表面上(这在某些时候仍然需要光栅化)来适当缩放它们。

问题是,我一整天都在寻找一个能让我获得.svg文件的库,并最终以快板forms呈现出来。 据我所知,这将涉及光栅化成某种forms的快板可以阅读,然后快板可以呈现“扁平”的形象。

那么我可以使用什么样的C ++库来获取一个.SVG文件并将其“展平”,以便我可以呈现它? 图书馆显然需要支持缩放,所以我可以缩放vectorgraphics,然后栅格化它。

我正在使用Windows和Visual C ++ Express 2010。

任何build议将是有帮助的,因为我现在很迷路:

我已经尝试过开罗,但它只允许写入.svg文件,并且不允许您读取.svg文件。 我也研究过与Cario一起工作的librsvg,但是在Windows上正常工作时遇到了很多麻烦(因为它具有GNOME依赖关系)。 如果你有任何指导,让这些工作(在Windows上),这将是伟大的。

Solutions Collecting From Web of "在C ++中渲染vectorgraphics(.svg)"

wxsvg库允许加载和操作SVG文件。 Qt也有一个SVG模块 。

SVG ++库提供了对SVG阅读的高级支持,因此可以在合理的时间内执行带有快板的SVG。

我最近在C ++中放置了一个小的SVG渲染器库: https : //github.com/igagis/svgren

它使用开罗渲染到屏幕外表面。 支持渐变和各种形状。

我迟到了一点,但是我建议你看一下Nano SVG ,一个非常轻量级的svg渲染器,它不需要cairo / libsvg。 我得到了nanosvg编译并在几个小时内工作。 这是非常基本的,但它完成了工作。