6

Androidで使用されるSkia描画ライブラリの優れたドキュメントを知っている人はいますか?

メインのCanvasオブジェクトにはほとんど状態がないので、特にPaintオブジェクトに埋め込むことができるオブジェクトについて考えています。いくつかのColorFilterの使用方法を試行錯誤して試し、ColorMatrixColorFilterを使用してクールな効果を作成しました。これで、LinearGradientシェーダーからも必要なドロップシャドウができました。私はPathEffectsを理解していて、XferModesについていくつかのアイデアを持っていると思います。MaskFiltersとRasterizersはまだ私には完全に不透明です。しかし、試行錯誤は複雑なライブラリを理解するための良い方法ではありません。

ほとんどの場合、Androidドキュメントで2Dグラフィックスとその使用方法がまったく説明されていないことが心配です。クラスjavadocsでさえ、クラスが何をしているのかを説明していないことがよくあります。実際の関数はすべてSkiaCコードであり、私はそれを入手できますが、ドキュメントもありません。私はいくつかのクールなデモを見てきましたが、Googleはそれらがどのように行われたかについてほとんど説明しませんでした。

これらのことを実験してCコードを読むことを理解する唯一の方法はありますか?効率とベストプラクティスはどうですか?Davlik / Android VMはメモリ割り当てに敏感で、時々遅くなり、私は物事を最善の方法で行っていないのではないかと心配しています。

4

2 に答える 2

2

Skiaには独自のGoogleコードプロジェクトサイトがあり、高レベルの概要を見つけることができます。

インラインドキュメントは、プロジェクトサイトのこのリンクから閲覧できます

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

そして、あなたはディスカッションメールリストに参加することができます。デザイナーとコミュニティが質問に答えます。

もう一つの良い参考文献はAppleから驚くべきものです。Apple QuickDraw GXのドキュメントでは、多くの2Dベクターグラフィックスの概念が説明されており、Skiaにも十分に適用できます。

于 2010-05-19T14:24:39.200 に答える
1

Android キャンバス API には 2 つの異なる実装がありました。1 つは Skia で、もう 1 つは OpenGL ES です。後者の実装は、いわゆる HWUI です。

実装に関係なく、キャンバス API の使用方法を理解するには、描画プロセスの基礎となるパイプラインを理解することが重要です。

以下は、パイプラインを説明するこれまでに入手可能な最高のドキュメントです。あなたは間違いなくそれが便利だと思うでしょう。

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

于 2013-04-14T02:48:46.993 に答える