Skia介绍

[转]浅谈Google Skia图形引擎 http://blog.sina.com.cn/s/blog_4a0a39c30100cog4.html

Jserv's blog http://blog.linux.org.tw/~jserv/archives/002095.html

可以参考  在linux上编译skia: http://hi.baidu.com/prettyinsight/blog/item/7f27d13d451b5fcb9e3d626a.html

 

 

下载 Skia

 

按照上面的文章介绍的方法来下载Skia源代码:

 # svn co http://skia.googlecode.com/svn/trunk skia-trunk

         或

 # svn checkout http://skia.googlecode.com/svn/trunk/ skia-trunk

 

 

编译 Skia

查看帮助

 

# cd skia-trunk

# make help

 

 

编译

默认编译

 

期望的编译输出就是静态函式库 out/libskia.a,而 Skia 的内部运算可选择浮点数与定点 (fixed-point),不过笔者发现,目前尙未能透地选择,但这不影响我们理解 Skia 的使用与体验其威力。以笔者使用的 GNU/Linux 来说,可下达以下指令要求编译:

# make SKIA_BUILD_FOR=linux

没意外的话,系统就会乖乖的编译:

compiling out/src/core/Sk64.o

compiling out/src/core/SkAlphaRuns.o

compiling out/src/core/SkBitmap.o

...

 

编译benchmark

至于编译 benchmark 程序,则可透过以下指令:

# make SKIA_BUILD_FOR=linux bench

benchmark 程序算是除了 Chromium 之外,最佳的「文件」了,不过 SKia API 本来就简洁强大,这也不妨碍。

 

 

执行 benchmark 程序

./out/bench/bench -o `pwd`

陆续会有类似以下的输出:

running bench          polygon

running bench            lines

running bench           points

running bench          rrects3

running bench          rrects1

running bench           ovals3

running bench           ovals1

running bench           rects3

running bench           rects1

 

 

running bench    bitmap_index8

running bench      bitmap_4444

running bench       bitmap_565

running bench      bitmap_8888

可大概窥知 Skia 涵盖的范畴,接着笔者就写个小程序,使用 Skia C++ API

 

一个实际的例子

 

f

 

Logo

更多推荐