一、简介:
skia 有大概 80,000 行代码,基于 C++ 开发,主要特点包括:
- 高度优化的软体 ->Optimised software-based rasteriser (module sgl/);
- 选择性透过OpenGL/ES ,加速特定操作,如shader 和 textures -> Optional GL-based acceleration of certain graphics operations including shader support and textures (module gl/);
- 动画处理能力->Animation capabilities (module animator/);
- 内建SVG支援->Some built-in SVG support (module (svg/)
- 內建若干 image codec,如 PNG, JPEG, GIF, BMP (modules images/) ->Built-in image decoders: PNG, JPEG, GIF, BMP, WBMP, ICO (modules images/);
- 内建文字处理,但缺乏泰文、藏文一类复杂文字处理能力->Text capabilities (no built-in support for complex scripts);
- Some awareness of higher-level UI toolkit constructs (platform windows, platform events): Mac, Unix (sic. X11, incomplete), Windows, wxwidgets
- 功能特性 Performace features
1.Copy-on-write for images and certain other data types;
2.Extensive use of the stack, both internally and for API consumers to avoid needless allocations and memory fragmentation;
3.Thread-safety to enable parallelisation.
The library is portable and has (optional) platform-specific backends:
- Fonts: Android / Ascender, FreeType, Windows (GDI);
- Threading: pthread, Windows;
- XML: expat, tinyxml;
- Android shared memory (ashmem) for inter-process image data references;
二、从应用层到底层对skia的调用关系
Android对skia的调用是一个比较经典的调用过程,应用程序的几个包是在SDK中提供的;JNI放在框架的JNI目录下面的Graphic目录;skia是作为一个第三方组件放在external目录下面。skia结构如图:
其实主要涉及到的3个库:
libcorecg.so 包含/skia/src/core的部分内容,比如其中的Region,Rect是在SurfaceFlinger里面计算可是区域的操作基本单位;
libsgl.so 包含/skia/src/core|effects|images|ports|utils的部分和全部内容,这个实现了skia大部分的图形效果,以及图形格式的编解码;
libskiagl.so 包含/skia/src/gl里面的内容,主要用来调用opengl实现部分效果。
- 大小: 38.5 KB
分享到:
相关推荐
在 Android 源代码库中,Skia 引擎的头文件位于 android/external/skia/include,源代码则位于 android/external/skia/src。为了便于 Java 代码调用,Android 对 Skia 进行了封装,相关代码分布在 android/framework...
### Android的图形处理引擎——Skia #### 一、简介 Skia是一个开源的向量图形处理函数库,它提供了一系列的功能,包括字体渲染、坐标转换、位图操作等,可被视为轻量级的Cairo。当前Skia主要用于Google的Android和...
Google Skia图形库是一款强大的2D图形处理引擎,由Google开发并开源,广泛应用于Chrome、Android等项目。它提供高效、高性能的图形渲染能力,支持矢量图形、文本布局、图像滤镜等功能,且跨平台兼容性优秀。本文将...
### Android的图形处理引擎——Skia框架学习 #### 一、Skia框架概述 Skia是一个功能强大的开源向量图形处理库,它包含了多种图形处理功能,如字体渲染、坐标变换、位图处理等,其设计简洁高效,常被比作轻量级的...
Google Skia是一个开源的2D图形处理库,由Google开发并维护,主要用于构建高性能的图形渲染系统。它被广泛应用于Android、Chrome和其他Google产品中,提供了丰富的2D图形API,支持矢量图形、像素操作、文本渲染以及...
它由Google的图形库提供支持,该库与为Google Chrome和Android图形提供支持的库相同。 您可以查看 Swift绑定旨在跨平台,既适用于Apple平台,也适用于运行Skia和Swift的新平台。 这项工作使用了由Matthew ...
该库的核心是Google的Skia图形库,一个广泛应用于多个操作系统和项目的强大图形处理引擎。Skia4Delphi的出现,使得Delphi程序员能够充分利用Skia的强大功能,为他们的应用程序添加丰富、高效的2D渲染能力。 Skia...
标题中的“skia_java_绘图_google_Skiaandroid_android_”表明我们将探讨如何在Android平台上,使用Google的Skia图形库,通过Java语言来实现绘图功能。Skia是Google开发的一个强大的2D图形处理库,广泛应用于Android...
谷歌的Skia图形处理引擎是一款高性能的2D图形库,广泛应用于Android、Chrome和其他Google产品中。这个资源包含了2009年10月的Java源码版本,为我们提供了洞察Skia早期设计与实现的机会。 Skia的核心功能包括: 1. ...
Skia图形图像引擎 OpenGL 3D 引擎 各种JNI(向JAVA提供接口) GUI系统JAVA语言的核心包括: android.graphics(对应Skia底层库) android.view.Surface(构建显示介 面) android.view.View及其...
Skia是一个开源的2D图形处理库,被广泛应用于各种操作系统和应用程序中,包括Google Chrome、Android系统等。其强大的图形渲染能力为开发者提供了丰富的图形绘制和图像处理功能。在深入研究Skia源码之前,我们需要...
Skia,源自Google,是一个开源的2D图形处理库,它提供了丰富的图形绘制功能,包括但不限于文本渲染、几何图形绘制以及图像操作。这个库被广泛应用于各种操作系统、浏览器、移动设备和嵌入式系统中,如Android、...
Android作为一个广受欢迎的移动操作系统,其图形系统负责处理屏幕上的视觉渲染,它包括了Android的渲染引擎Skia、图形界面框架View、绘图库Canvas等核心组件。这些组件共同工作,实现了应用界面的绘制、动画、图片...
Android的2D图形渲染引擎Skia,提供高效且灵活的2D图形绘制功能。Skia支持矢量图形,可以实现高质量的文本渲染、图像滤镜以及复杂的图形组合。在游戏开发中,Skia引擎的性能优化和图形处理能力使得动态画面更加流畅...
**QtSkia:一个结合了Skia图形库的Qt扩展** QtSkia是Qt框架的一个扩展,它将Google的Skia 2D图形库集成到Qt中,为开发者提供了更强大的2D渲染能力。Skia是一个开源的2D图形处理库,被广泛应用于Android、Chrome等...
总结来说,基于4G网络的Android平台移动视频会议系统需要综合运用Android系统架构、Dalvik虚拟机、SQLite数据库、Skia图形引擎、OpenCV图像处理库等关键技术,结合不断进步的网络技术,实现高效、流畅的移动视频通信...
Skia是一款开源的2D图形库,由Google开发并维护,广泛应用于多个平台,包括Chrome浏览器、Android系统以及各种桌面和移动应用。它的主要功能是提供高效、跨平台的2D渲染解决方案,支持矢量图形、位图操作、文本渲染...
《Rust-skia:安全的Skia图形库绑定在Rust中的应用》 Rust-skia项目是一个将Google的Skia图形库与Rust编程语言紧密结合的开源项目,旨在为Rust开发者提供一个高效、安全的图形处理环境。Skia本身是一个强大的2D图形...