Cairo

维基百科,自由的百科全书
跳转到导航 跳转到搜索
cairo
File:Cairo banner closeup.svg
原作者基思·帕卡德卡尔·沃思[1]
开发者卡尔·沃思贝赫达德·埃斯法赫博德
当前版本
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    源代码库
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    编程语言C语言
    引擎
      Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
      操作系统跨平台
      类型图形库
      许可协议GNU宽通用公共许可证版本2.1或是Mozilla公共许可证版本1.1

      Cairo是一个用于提供矢量图形绘图的自由函数库,Cairo提供在多个背景下做二维空间的绘图,高级的更可以使用硬件加速功能[2]。虽然Cairo是使用C语言撰写的,但是当使用cairo时,可以用许多其他种语言来使用,包括有C++C#JavaPythonPerlRubySchemeSmalltalk以及许多种语言[3],cairo在GNU宽通用公共许可证Mozilla公共许可证两种许可协议下发行。

      后端[编辑]

      Cairo支持很多不同后端的输出,在实现中被称作“surface”。支持的后端包括X Window系统、Win32 GDIQuartz CompositorOS/2OpenGL环境(直接或间接地通过glitz英语glitz)、内存缓冲区、PNGPDFPostScriptDirectFBSVG文件。

      还有一些开发中的后端如:OpenVGQtSkia和Windows Direct2D[4]

      知名应用[编辑]

      因为能够提供高级的跨平台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项目[5]。它原本(直到2003年)被称做Xr或Xr/Xc。为了加强跨平台而非被局限在X Window平台绘图的印象,项目更换了名称。Xr经被解释为希腊字母chirho派生出新名称cairo。

      相似的技术[编辑]

      Cairo大抵相似于微软WPFGDI+苹果公司Quartz 2DAnti-Grain Geometry英语Anti-Grain Geometry(AGG)。

      相关条目[编辑]

      参考资料[编辑]

      1. ^ Carl's boring web pages. cworth.org. 2013 [11 July 2014]. (原始内容存档于2014-05-17). 
      2. ^ Cairo homepage. [2010-10-30]. (原始内容存档于2011-02-23). 
      3. ^ Cairo Language Bindings. [2014-04-16]. (原始内容存档于2011-05-17). 
      4. ^ Bas Schouten. Direct2D: Hardware Rendering a Browser. 2009-11-22 [2010-02-12]. (原始内容存档于2010-02-10). 
      5. ^ Xr: Cross-device Rendering for Vector Graphics. [2009-06-08]. (原始内容存档于2009-06-14). 

      外部链接[编辑]

      • Module:Official_website第90行Lua错误:attempt to index field 'wikibase' (a nil value)