在wxWidgets中绘制SVG图像

时间:2009-12-17 13:38:41

标签: c++ image svg wxwidgets

我需要能够绘制SVG图像(能够缩放,并将图像旋转90,180和270度)。

我还希望能够将图像渲染到位图(例如用于显示),以便能够将它们绘制成新的SVG图像(将“文档”导出到SVG)。

wxWidgets似乎没有任何内置的SVG功能,因此我不确定如何继续添加此类功能。

2 个答案:

答案 0 :(得分:5)

cairo library website使用examples绘制SVG时有librsvg

cairo librsvg 库都应该足够跨平台,以满足您的需求,并且wxcairo应该可以将它们停靠在的wxWidgets

这是我在面对将SVG绘制到 wxWidgets 中的任务时要研究的第一个想法。

此外,无论如何使用 cairo 绘制所有绘图时,使用 cairo 绘制到SVG文件非常简单,并且绘图模型 cairo 用法与SVG非常相似。

答案 1 :(得分:0)

您可以使用wxSVGFileDC(http://docs.wxwidgets.org/trunk/classwx_s_v_g_file_d_c.html)以SVG格式渲染到文件中,但不支持绘制SVG图像,您需要使用SVG渲染库并将其与wx集成(如何执行此操作)是平台依赖的。)

请注意,wxSVGFileDC在contrib中,即需要独立构建的附加库,在wx 2.8中,但在2.9中位于主库中。