必威电竞|足球世界杯竞猜平台

cairo
來源:互聯網

Cairo(Cairo)是一個開源的2D圖形庫,支持多種輸出設備,提供了一種矢量圖形基礎的、設備無關的API,供軟件開發者使用。Cairo支持在多個背景下的二維空間繪圖,使用硬件加速功能時效果更好。雖然Cairo使用c語言編寫,但通過使用Cairo,還可以使用C++、C#、Java、PythonPerlRubySchemesmalltalk等多種語言進行編程。Cairo遵循GNU較寬松公共許可證和Mozilla公共許可證兩種授權條款。

歷史沿革

基思·帕卡德和卡爾·沃思為在X Window系統使用創立了cairo項目。它原本(直到2003年)被稱做Xr或Xr/Xc。為了加強跨平臺而非被局限在X Window平臺繪圖的印象,項目更換了名稱。Xr經被解釋為希臘字母chi和rho派生出新名稱cairo。

功能介紹

Cairo是一個功能強大的2D圖形庫,它允許開發者在多種不同的后端上進行圖形渲染,包括X Window系統、Quartz、win32、image.buffers、PostScript、PDF和SVG文件輸出。此外,Cairo還支持OpenGL、XCB、BeOS、OS/2操作系統和DirectFB等后端,盡管BeOS、OS/2和DirectFB后端在2022年被取消。Cairo的目的是提供一致的輸出效果,無論是在哪種輸出媒體上,同時能利用硬件加速器。

Cairo的主要優點在于它統一了在X、Win32、Quartz等基礎上的圖形庫操作方式,并支持PS、PDF、SVG、PNG/JPEG等圖像格式的輸出,這使得頁面的再次利用變得方便。在glitz的支持下,Cairo甚至支持部分3D效果。Cairo的許可協議為GNU Lesser General Public License (LGPL) version 2.1 或者 the Mozilla Public License (MPL) version 1.1。

后端

Cairo支持很多不同后端的輸出,在實現中被稱作“surface”。支持的后端包括X Window系統、Win32 GDI、Quartz Compositor、OS/2,OpenGL環境(直接或間接地通過glitz)、內存緩沖區、PNG、PDF、PostScriptDirectFB和SVG文件。

還有一些開發中的后端如:OpenVG,Qt,Skia和Windows Direct2D。

繪圖模型

Cairo 繪圖模型依賴于三層模型。

任何繪圖過程都分三個步驟進行:

這構成了與可擴展矢量圖形(SVG)根本不同的方法,后者使用層疊樣式表(CSS) 規則指定形狀的顏色。Cairo 會創建形狀的蒙版,然后為其創建源,然后將它們傳輸到表面上,而 SVG 文件將簡單地使用屬性來指定形狀style。也就是說,這些模型并不是不兼容的,而是相互兼容的。許多 SVG 渲染器使用 Cairo 來完成繁重的工作。

參考資料 >

生活家百科家居網