Cairo图形库编辑指南
说明
欢迎来到Cairo图形库编程指南。本指南将会教你学会Cairo2D矢量图形库的基本知识和一些高级用法。大多数例子里,我们会用到GTK+函数库。本指南使用C语言进行编程。
2D矢量图形
计算机图形有两种:矢量图形和光栅图形。光栅图形就是组合像素。矢量图形是用几何图元,比如点,线,面或是多边形来表现图形。这些矢量图元是用数学方程式进行精确描述的。
这两种绘图方式有各自的优缺点。矢量图形优于光栅图形的地方为:
1.需要的资源更少
2.无级放缩
3.移动,放缩,填充或是旋转时,不会使图像失真。
Cairo图形库
Cairo是一个用C语言写的创建2D矢量图形的函数库。同时提供其它语言的接口。比如Python,Perl,C++,C#,Java等。Cairo是一个跨平台的库,它可以工作在Linux,BSDs,OSX这些系统上面。
Cairo支持支持各种环境
X Windows System
Win32 GDI
Mac OS X Quartz
PNG
PostScript
SVG
也就是说,我们可以用这个库在Windows,Linux/BSDs,Windows,OSX或是用这个库创建PNG图形,PDF文件,PostScript文件和SVG文件。
与Windows上的GDI+和Mac上的Quartz 2D相比,Cairo是一个开源的软件库,从2.8版开始,它成为GTK+系统的一部分。
编译例子
所有的例子都是用C语言来写的,我们可以用GCC来进行编译:
gcc -o example `pkg-config --cflags --libs gtk+-2.0` example.c