# Cario 图形库

> 原文： [https://zetcode.com/gfx/cairo/cairolib/](https://zetcode.com/gfx/cairo/cairolib/)

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

## 2D 矢量图形

有两种不同的计算机图形。 矢量和光栅图形。 栅格图形将图像表示为像素的集合。 矢量图形是使用诸如点，线，曲线或多边形之类的几何图元来表示图像。 这些基元是使用数学方程式创建的。

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

*   较小的大小
*   无限放大的能力
*   移动，缩放，填充或旋转不会降低图像质量

## Cario 

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

Cario 支持各种后端。

*   X Window 系统
*   Win32 GDI
*   Mac OS X
*   PNG
*   PDF 格式
*   PostScript
*   SVG

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

我们可以将 cairo 库与 Windows OS 上的 GDI+  库和 Mac OS 上的 Quartz 2D 比较。 Cario 是一个开源软件库。 从 2.8 版开始，cairo 库是 GTK+  系统的一部分。

## 编译示例

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

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

```

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