Cairo

Cairo是一個用於提供向量圖形繪圖的自由函式庫，Cairo提供在多個背景下做二维空间的繪圖，進階的更可以使用硬體加速功能。雖然Cairo是使用C語言撰寫的，但是當使用cairo時，可以用許多其他種語言來使用，包括有C++、C#、Java、Python、Perl、Ruby、Scheme、Smalltalk以及許多種語言，cairo在GNU較寬鬆公共許可證與Mozilla公共许可证兩種授權條款下發行。

後端
Cairo支持很多不同後端的输出，在实现中被称作“surface”。支持的后端包括X Window系统、Win32 GDI、Quartz Compositor、OS/2，OpenGL环境（直接或间接地通过）、内存缓冲区、PNG、PDF、PostScript、DirectFB和SVG文件。

还有一些开发中的后端如：OpenVG，Qt，Skia和Windows Direct2D。

知名應用
因为能够提供高级的跨平台2D绘图的支持，cairo在开源社区十分流行。

GTK+从2005年的2.8版开始，使用cairo去渲染它的大多数控件，从GTK+ 3开始，所有的渲染任务由cairo完成。
Mono项目，包括Moonlight，在很早便设想用cairo作为后端驱动GDI+（libgdiplus）和 System.Drawing命名空间。
Mozilla项目在最近版本的Gecko排版引擎中使用cairo，用来渲染生成的图形输出。
Gecko 1.8，Firefox 2.0和SeaMonkey 1.0的排版引擎，使用cairo渲染SVG和<canvas>内容。
Gecko 1.9，作为Firefox 3底层使用cairo对网页内容和用户界面进行渲染。
Poppler库使用cairo渲染PDF文档. cairo使得对反锯齿矢量图形和透明物件的绘制成为可能。
矢量绘图应用程序Inkscape使用cairo图形库显示其概要模式，以及自从0.46正式版使用它输出PDF和PostScript文档。
FontForge在2008年10月中旬启用cairo为默其认渲染图形库。
R语言经cairo用PDF，PostScript和SVG格式输出图像。
Gnuplot 4.4现在使用cairo来渲染PDF和PNG输出。

历史
基思·帕卡德和卡尔·沃思为在X Window系統使用创立了cairo项目。它原本（直到2003年）被称做Xr或Xr/Xc。为了加强跨平台而非被局限在X Window平台绘图的印象，项目更换了名称。Xr经被解释为希腊字母chi和rho派生出新名称cairo。

相似的技術
Cairo大抵相似於微軟的WPF和GDI+、蘋果公司的Quartz 2D、（AGG）。

相關條目
Display PostScript
Skia Graphics Library
WebGL

參考資料

外部連結


Category:用C編程的自由軟體
Category:GTK
Category:自由發展元件與函式庫
Category:Cairo
Category:Freedesktop.org
Category:GNOME函式庫