2009-12-17 41 views
6

我需要能够绘制SVG图像(可以缩放和旋转图像90,180和270度)。我还希望能够将图像呈现为位图(例如用于显示),以便能够将它们绘制到新的SVG图像中(将“文档”导出到SVG)。在wxWidgets中绘制SVG图像

wxWidgets似乎没有任何内置的SVG功能,所以我不知道如何继续添加这样的功能。

+0

小记。了解SVG的局限性。我曾经编写过一个程序来创建一个大量反弹图,其中有几十个代理通过解析模拟日志文件相互交谈,发现在创建大型SVG文件时,SVG在Firefox和IE中速度非常慢。我改变了在QT画布上绘制我的东西,它运行没有问题。 (我意识到QT/wxWidgets没有嵌入浏览器,所以这可能不适用于你的情况。) – 2009-12-17 14:20:36

+3

即时通讯编写桌面应用程序,尽管你知道一种替代的矢量图形格式,我可以在wxWidgets中使用并且有很好的支持在图像编辑软件im开放建议。 – 2009-12-17 15:01:41

+0

+1包含解释* SVG *的链接。 – 2009-12-17 18:07:34

回答

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中的主库本身中。

0

我不确定这个解决方案有多实用,但有一个想法可能是将wxWebKit嵌入到您的应用程序中,然后依靠WebKit's SVG support为您进行渲染。

4

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

无论是开罗的librsvg库应具有足够的跨平台做你需要什么,并与wxcairo应该可以将它们停靠在的wxWidgets

这是我在研究将SVG绘制成wxWidgets时的第一个想法。

此外,绘图SVG文件与开罗是很容易的,当你在做所有的绘图与开罗反正,和绘图模型开罗采用的是神似SVG。