本頁使用了標題或全文手工轉換

Skia Graphics Library

維基百科,自由的百科全書
跳至導覽 跳至搜尋
Skia Graphics Engine
原作者 Skia公司
開發者 Google
原始碼庫 編輯維基數據鏈接
程式語言 C++
類型 圖形庫
特許條款 New BSD License
網站 skia.org

Skia Graphics Library(SGL)是一個由C++編寫的開放原始碼圖形庫,最初由Skia公司開發,被Google收購後以New BSD License許可下開源。

Skia公司所開發的第一個產品就是Skia Graphics Library,能在低階裝置如手機上呈現高質素的2D圖形。截至2017年 (2017-Missing required parameter 1=month!),它已被應用於AndroidGoogle ChromeChrome OSChromium OSMozilla FirefoxFirefox OS以及Sublime Text

2012年時Skia有大概80,000行程式碼,以C++開發而成[1]

範例[編輯]

Skia主要的類別是SkCanvas,所有的繪圖功能都是實作於此類別。以下是SGL簡單的程式碼:

SkCanvas* can = GraphicsJNI::getNativeCanvas(...);      
SkPaint paint;    
paint.setARGB(255, 0, 0, 255);
can->drawText("Hello, world", 12, 10, 10, paint);

「綠化」缺陷[編輯]

為了提高執行的效率,Google在Android的Skia實現中,對JPG壓縮處理演算法覆寫來代替呼叫libjpeg-turbo,實現了一個低精度的YUV轉換為RGB的演算法,但該覆寫演算法中除法取整的方式不合理,不僅每次壓縮後畫質劣化更嚴重,隨着誤差逐步累積,還會導致圖片會越來越偏向綠色。最終該缺陷在2016年4月得到修復,修改回直接使用libjpeg-turbo的呼叫。[2]而作為Android基礎庫的一部分,該修復也被認為預計於Android 7中修復。

參見[編輯]

參考資料[編輯]

外部連結[編輯]