跳转到内容

Skia Graphics Library

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是本页的一个历史版本,由Liangent-bot留言 | 贡献2017年12月10日 (日) 12:15 (清理有蓝链却未移除内部链接助手模板的页面OpenVG编辑。这可能和当前版本存在着巨大的差异。

Skia Graphics Engine
原作者Skia公司
開發者Google
源代码库 編輯維基數據鏈接
编程语言C++
类型圖形庫
许可协议New BSD License
网站code.google.com/p/skia/github.com/google/skia/

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

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

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实现中,为了优化运行,对libjpeg-turbo的代码重写,实现一个低精度的YUV转换为RGB的算法,但是反而导致精度损失在图片每次重新压缩中更严重,导致图片会越来越偏向绿色并画质更为劣化。最终该失误在2016年4月修复,修改回直接使用libjpeg-turbo的调用。[2]而作为Android基础库的一部分,该修复也被认为预计于Android 7中修复。[3]

参见

参考资料

外部链接