ZetCode

Cairo 图形库

最后修改于 2023 年 7 月 17 日

欢迎来到 Cairo 图形教程。本教程将教授您 Cairo 2D 矢量图形库的基础知识和一些高级主题。在大多数示例中,我们使用 GTK+ 编程库。本教程以 C 编程语言编写。

2D 矢量图形

有两种不同的计算机图形:*矢量*和*光栅*图形。光栅图形将图像表示为像素集合。矢量图形是使用几何图元(如点、线、曲线或多边形)来表示图像。这些图元是通过数学方程创建的。

两种类型的计算机图形都有优点和缺点。矢量图形相对于光栅图形的优点是

Cairo

Cairo 是一个用于创建 2D 矢量图形的库。它以 C 编程语言编写。存在其他计算机语言的绑定,如 Python、Perl、C++、C#、Java。Cairo 是一个跨平台库,它可以在 Linux、BSD 和 Mac OS 上运行。

Cairo 支持各种后端。

这意味着我们可以使用该库在 Linux/BSD、Windows、Mac OS 的窗口上绘图,并且我们可以使用该库创建 PNG 图像、PDF 文件、PostScript 文件和 SVG 文件。

我们可以将 Cairo 库与 Windows OS 上的 *GDI+* 库以及 Mac OS 上的 *Quartz 2D* 进行比较。Cairo 是一个开源软件库。从 2.8 版本开始,Cairo 库是 *GTK+* 系统的一部分。

编译示例

示例以 C 编程语言创建。我们使用 GNU C 编译器来编译它们。

gcc example.c -o example `pkg-config --cflags --libs gtk+-3.0` 

请注意,编译选项的顺序很重要。