Skia和Android的Paint绘制对象及其使用或文档

6

有没有人了解Android使用的Skia绘图库的好文档呢?

主要的Canvas对象几乎没有状态,因此我特别关注可以嵌入到Paint对象中的对象。我通过试错方法找出了如何使用一些ColorFilters,并使用ColorMatrixColorFilter制作了很酷的效果。现在,我也从LinearGradient着色器中获得了想要的投影效果。我认为我理解了PathEffects,并且对XferModes也有一些想法。而MaskFilters和Rasterizers对我来说仍然是完全不透明的。但是,试错并不是理解一个复杂库的好方法。

最重要的是,Android文档根本没有讨论2D图形及其使用方法。即使类Javadocs也经常没有解释该类正在执行的操作。实际功能都在Skia C代码中,我可以得到它,但它也缺乏文档。我看到过一些很酷的演示文稿,但Google并没有解释这些演示是如何完成的。

难道理解这些东西的唯一方法就是试验和阅读C代码吗?那么效率和最佳实践呢? Davlik/Android VM对内存分配非常敏感,有时很慢,我担心我没有以最佳方式处理事情。

2个回答

2

Skia有自己的Google代码项目站点,您可以在其中找到一些高级概述。

通过该项目站点中的此链接,可以浏览内联文档。

http://skia.googlecode.com/svn/trunk/docs/html/hierarchy.html

您可以加入讨论邮件列表。设计师和社区将回答问题。

另一个很好的参考资料是来自苹果公司的惊喜。Apple QuickDraw GX文档解释了许多二维矢量图形的概念,并且可以足够适用于Skia。


1
Android画布API有两种不同的实现,一种是Skia,另一种是OpenGL ES。后一种实现被称为HWUI。
无论实现方式如何,了解绘制过程底层的管道对于理解如何使用画布API至关重要。
以下是目前可用的最佳文档,描述了该管道。您肯定会发现它很有用。

http://www.xenomachina.com/2011/05/androids-2d-canvas-rendering-pipeline.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接