歡迎閱讀 Cairo 繪圖指南,這份指南會向你講述 Cairo 二維矢量繪圖庫的基本知識以及一些高級問題。指南中的示例採用 C 語言實現,其中大部分使用了 GTK+ 庫。
二維矢量圖形
計算機圖形可分為兩類,矢量圖形與光柵圖形。光柵圖形是將圖像表示為像素點集。矢量圖形則是使用一些幾何圖元(點、直線、曲線、多邊形等)表示圖像,這些圖元是使用數學公式生成的。
這兩類計算機圖形表達方式各有所長短。相較於光柵圖形,矢量圖形存在以下優越性:
- 圖形文件更小
- 可任意縮放
- 平移、縮放、填充或旋轉等圖形變換操作對圖形質量無影響
Cairo
Cairo 是用於繪製二維矢量圖形的庫,採用 C 語言實現,又被許多其它計算機語言所綁定,譬如 Python、PERL、C++、C#、Java。Cairo 是跨平台庫,可運行於 Linux、BSD、OSX 等操作系統。
Cairo 支持多種後端 (backend):
- X Window 系統
- Win32 GDI
- Mac OS X Quartz
- PNG
- PostScript
- SVG
這些後端意味著可使用 Cairo 庫在 Windows、Linux/BSD、OSX 等平台的窗口中繪圖,也可以用於生成 PNG 圖片、PDF/PostScript/SVG 文件。
與 Windows 操作系統的 GDI+ 以及 Mac OS 的 Quartz 2D 庫相比,Cairo 是自由軟件庫。自 GTK+ 2.8 版本開始,Cairo 成為 GTK+ 庫的一部分。
示例的編譯
本指南中的所有示例均採用 C 語言實現,可使用 gcc 編譯它們,編譯命令格式如下:
$ gcc -o example `pkg-config --cflags --libs gtk+-2.0` example.c
沒有留言:
張貼留言