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

标签 user-interface unix svg desktop-application

比如说,我想编写一个大量使用 SVG 的桌面应用程序。我对渲染引擎、GUI 工具包、库等有哪些选择?

我希望它:

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

  • 那么,我有哪些选择?

    最佳答案

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

    The cairo API provides operations similar to the drawing operators of PostScript and PDF. Operations in cairo including stroking and filling cubic Bézier splines, transforming and compositing translucent images, and antialiased text rendering. All drawing operations can be transformed by any affine transformation (scale, rotation, shear, etc.)



    Cairo 被实现为一个用 C 编程语言编写的库,但绑定(bind)可用于几种不同的 programming languages .其中包括Perl , Python , Ruby还有更多。

    它还有几个 Toolkit 绑定(bind)。 GTK+ 2.8+例如,完全支持开罗。

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

    Cairo is free software and is available to be redistributed and/or modified under the terms of either the GNU Lesser General Public License (LGPL) version 2.1 or the Mozilla Public License (MPL) version 1.1 at your option.

    关于user-interface - 编写基于 SVG 的桌面应用程序有哪些选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8211645/

    相关文章:

    linux - 如何检测shell脚本输出的行号

    css - 如何将 -webkit-clip-path 设置为属性?

    c - Unix 系统调用名称后面的 (2) 是什么意思?

    linux - 制作 bash 脚本以接受来自文件的输入或管道输出

    javascript - 为什么通过JS给HTML文档添加 `document.createElementNS`标签时需要使用 `svg`?

    svg - 在SVG中绕其自身中心旋转矩形

    java - token "-"出现语法错误,AssignmentOperator 无效

    java - javafx 中的多行文本输出

    c++ - 程序化 QGraphicsView 滚动未正确更新

    java - 是否应该继承 GUI JFrame?