Linux下绘制图形库

来源:互联网 发布:js能用el表达式么 编辑:程序博客网 时间:2024/06/06 08:59

最近在找linux的gtk+下绘制大量图形的C语言库,找到了很多,也不知道哪个适合我,下面分别介绍一下。

  都是根据自己的理解,不见得正确。以下列出均为开源项目,大家可以作为参考,下面的cario是低级库,与其他不可同日耳语,其他的是gtk widget。

  1、gnome canvas
  基于libart创建的,是gnome环境下绘制图形的首选,创建的图形可以移动、放大、缩小、投影变换等。功能虽然强大,不过我要绘制大量的波形,不知道能否胜任,因为它比较高级。

  2、cario
  这个肯定能够胜任的,在gnome环境下这个是基本的2D绘图引擎,但由于是基本库,所以api肯定比较繁琐,而且编码量会极大的增加,错误同时增加,如果编程技巧一般,速度也不一定敢得上上面的那个。

  3、geocanvas
  这个项目现在分为两个部分,crccanvas ,geos。它本来是一个基于GTK的GIS组件,比较好用的。与gnome canvas有些类似,他对GIS的projection的转换支持更好,但同时也存在gnome canvas的问题,虽然他的底层是cairo。

  4、plplot
  这个1983年就开始的项目,现在比较成熟了,版本已经是5.8了。此库主要是数学绘图,以前dos下有个GT软件,现在的matlab,与它有异曲同工之妙。目前,本人觉得这个是首选,因为它采用的底层库是cario,而且封装了绘制数学图件的大部分功能,发展这么多年,对大量数据处理非常有效。唯一担心的就是它的交互能力,但这也没有办法,任何事物都有其两面性。

  5、gtkglgraph
  今天正在测试,利用开源opengl的mesa基本库,据说api very easy,opengl处理大量数据有独到的特性,因此绘制速度最快,这个库应该比较好用,但版本是1.0,功能可能不会很多。

  6、libgeos
  这个不是图形库,列在这里是再次表示对自己孤陋寡闻的一个警示。这个库是GIS的基础,计算拓扑关系的。用这个库,加上gnome canvas ,或者geocanvas,加上postage数据库,就可以做个开源GIS了-QGIS。