網誌存檔

2010年11月16日 星期二

[轉貼]Cairo 圖形指南 (1) —— 簡介

歡迎閱讀 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
  • PDF
  • 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

沒有留言:

張貼留言