有没有人知道Android使用的Skia图形库的好文档?
主画布对象几乎没有任何状态,所以我特别考虑可以嵌入到Paint对象中的对象。通过反复试验,我找到了如何使用一些ColorFilters,并用ColorMatrixColorFilter做了一个很酷的效果。现在我也可以从LinearGradient着色器获得我想要的投影了。我想我了解PathEffects,并且对XferModes有一些想法。MaskFilters和光栅化器对我来说仍然是完全不透明的。但是试错并不是理解一个复杂的库的好方法。
我最关心的是Android文档根本没有讨论2d图形和使用它们的方法。即使是javadoc类通常也不会解释该类在做什么。实际的函数都是用Skia C代码编写的,我可以得到这些代码,但它也缺少文档。我看过一些很酷的演示,但谷歌很少解释它们是如何完成的。
理解这些东西的唯一方法是实验和阅读C代码吗?那么效率和最佳实践呢?Davlik/Android虚拟机对内存分配很敏感,有时速度很慢,我担心我没有以最好的方式做事情。
发布于 2010-05-19 14:24:39
Skia有自己的google代码项目网站,你可以在那里找到一些高级概述。
可通过项目站点中的此链接浏览内联文档
http://skia.googlecode.com/svn/trunk/docs/html/hierarchy.html
你也可以加入讨论邮件列表。设计师和社区将回答问题。
另一个很好的参考是来自苹果的惊喜。苹果QuickDraw GX文档解释了许多2D矢量图形的概念,可以很好地应用于Skia。
发布于 2013-04-14 02:48:47
Android canvas API确实有两个不同的实现,一个是Skia,另一个是OpenGL ES。后面的实现是所谓的HWUI。
不管实现是什么,理解绘制过程的底层管道对于理解如何使用canvas API至关重要。
下面是迄今为止描述该管道的最佳文档。你肯定会发现它很有用。
http://www.xenomachina.com/2011/05/androids-2d-canvas-rendering-pipeline.html
https://stackoverflow.com/questions/2223983
复制