2010-02-08 13 views
6

Kennt jemand eine gute Dokumentation für die von Android verwendete Skia Zeichnungsbibliothek?Skia und Android Zeichnungsobjekte und ihre Verwendung oder Dokumentation zu malen

Das Canvas-Hauptobjekt hat kaum einen Zustand, deshalb denke ich speziell an die Objekte, die Sie in das Paint-Objekt einbetten können. Ich habe durch Versuch und Irrtum ausgearbeitet, wie man einige ColorFilters benutzt und einen coolen Effekt mit ColorMatrixColorFilter machte. Jetzt habe ich auch die Schatten, die ich vom LinearGradient-Shader möchte. Ich denke, ich verstehe PathEffects und habe einige Ideen zu XferModes. MaskFilters und Rasterizer sind für mich immer noch undurchsichtig. Aber Versuch und Irrtum ist keine gute Möglichkeit, eine komplizierte Bibliothek zu verstehen.

Meistens mache ich mir Sorgen, dass die Android-Dokumente nicht über 2D-Grafiken und die Mittel, sie überhaupt zu verwenden, diskutieren. Selbst die Klasse Javadocs erklären oft nicht, was die Klasse tut. Die eigentliche Funktion ist alles in Skia C-Code, die ich bekommen kann, aber es fehlt auch Dokumentation. Ich habe einige coole Demos gesehen, aber Google hat wenig darüber erzählt, wie sie gemacht wurden.

Ist der einzige Weg, diese Dinge zu verstehen, Experimente und Lesen der C-Code? Was ist mit Effizienz und Best Practices? Die Davlik/Android VM ist empfindlich auf Speicherzuweisungen und manchmal langsam und ich bin besorgt, dass ich nicht die Dinge am besten mache.

Antwort

2

Skia hat eine eigene Google Code-Projektseite, auf der Sie einen Überblick auf hoher Ebene finden.

Inline Dokumente könnten durch diesen Link in der Projektseite zu sehen sein

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

Und man konnte die Diskussion Mailingliste beitreten. Designer und Community beantworten Fragen.

Eine andere gute Referenz ist überraschend von Apple. Apple QuickDraw GX-Dokumentationen erklärten viele 2D-Vektorgrafiken und konnten sich gut auf Skia anwenden.

1

Android Canvas API hatte zwei verschiedene Implementierungen, eine ist Skia und eine andere ist OpenGL ES. Die spätere Implementierung ist eine sogenannte HWUI.

Unabhängig von der Implementierung ist das Verständnis der zugrunde liegenden Pipeline für den Zeichenprozess von entscheidender Bedeutung, um zu verstehen, wie die Canvas-API verwendet wird.

Unten sind die besten doc verfügbar soweit die Pipeline zu beschreiben. Sie werden es auf jeden Fall nützlich finden.

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