用C++渲染矢量图形(.svg)

Bra*_*rad 9 c++ windows allegro vector-graphics

我和朋友正在开发2D游戏,其中图形将是.svg文件,我们将通过首先光栅化它们或者直接在曲面上渲染它们来适当地缩放它们(在某些时候仍然需要光栅化).

问题是,我一直在寻找一个能够让我获取.svg文件并最终在allegro中呈现它的库.据我所知,它会将光栅化纳入某种格式,即allegro可以阅读,然后allegro可以呈现"扁平化"的图像.

那么我可以使用哪些C++库来获取.SVG文件并"展平"它以便我可以渲染它?库显然也需要支持缩放,所以我可以缩放矢量图形然后栅格化它.

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

任何建议都会有所帮助,因为我现在很迷茫:

我试过Cairo,但它只允许写.svg文件,不允许你读.svg文件.我也研究了与Cario一起使用的librsvg,但是我在Windows上正常工作时遇到了很多麻烦(因为它有大量的GNOME依赖).如果您有任何指南可以使这些工作(在Windows上)也很好.

Vij*_*hew 8

wxsvg图书馆允许装载和操纵SVG文件.Qt还有一个SVG模块.

  • 此答案的更新:wxSVG项目已移至其他页面.http://wxsvg.sourceforge.net/ (3认同)

Jai*_*tes 6

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