编写基于SVG的桌面应用程序有哪些选择?

Vla*_*hev 11 unix user-interface svg desktop-application

说,我想编写一个会大量使用SVG的桌面应用程序.我对渲染引擎,GUI工具包,库等有何选择?

我希望它:

  1. 在Linux/Unix/Mac上运行顺畅(到处都是抗锯齿)
  2. 是开源的
  3. 兼容标准SVG(例如不透明度,嵌入式光栅图形)
  4. 可以使用现代动态语言(Python,Ruby,Lisp等)访问
    • 例如,基于C的解决方案在这个意义上是完美的

那么,我的选择是什么?

Joh*_*ato 15

我建议cairo,Cairo是一个2D图形库,支持SVG文件输出.

cairo API提供类似于PostScript和PDF的绘图操作符的操作.在cairo中的操作包括抚摸和填充三次Bézier样条曲线,转换和合成半透明图像以及抗锯齿文本渲染.所有绘图操作都可以通过任何仿射变换(比例,旋转,剪切等)进行转换

Cairo是作为用C编程语言编写的库实现的,但是绑定可用于几种不同的编程语言.其中包括Perl,Python,Ruby等等.

它还有几个Toolkit Bindings.例如,GTK + 2.8+完全支持cairo.

还有OpenGL的实验后端.哪些好处包括Easily integrate features like PS-, PDF-, SVG-support to your OpenGL-application (may need additional libraries).

Cairo是免费软件,可根据您选择的GNU宽通用公共许可证(LGPL)版本2.1或Mozilla公共许可证(MPL)版本1.1的条款进行重新分发和/或修改.