2010-02-08 6 views
6

¿Alguien sabe de buena documentación para la biblioteca de dibujo de Skia utilizada por Android?Skia y Android Paint dibujar objetos y su uso o documentación

El objeto principal de Canvas casi no tiene ningún estado, así que estoy pensando especialmente en los objetos que puede incrustar en el objeto Paint. He calculado por ensayo y error cómo usar algunos filtros de color y he tenido un efecto genial con ColorMatrixColorFilter. Ahora también tengo las sombras paralelas que quiero del sombreador LinearGradient. Creo que entiendo PathEffects y tengo algunas ideas sobre XferModes. MaskFilters y Rasterizers siguen siendo totalmente opacos para mí. Pero la prueba y error no es una buena forma de entender una biblioteca complicada.

Principalmente me preocupa que los documentos de Android no discutan gráficos 2D y los medios para usarlos en absoluto. Incluso los javadocs de clase a menudo no explican qué está haciendo la clase. La función real es todo en código Skia C, que puedo obtener, pero también carece de documentación. He visto algunas demos geniales, pero Google explicó poco sobre cómo se hicieron.

¿Es la única forma de entender estas cosas la experimentación y la lectura del código C? ¿Qué hay de la eficiencia y las mejores prácticas? La máquina virtual Davlik/Android es sensible a las asignaciones de memoria y, a veces, lenta y me preocupa que no estoy haciendo las cosas de la mejor manera.

Respuesta

2

Skia tiene su propio sitio de proyecto de código de google donde puede encontrar una descripción general de alto nivel.

documentos Inline se podrían examinar por este enlace en el sitio del proyecto

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

y usted podría unirse a la lista de correo de discusión. Los diseñadores y la comunidad responderán preguntas.

Otra buena referencia es sorprendente de Apple. Los documentos de Apple QuickDraw GX explicaron muchos conceptos de gráficos vectoriales 2D y podrían aplicarse a Skia lo suficiente.

1

Android canvas API tuvo dos implementaciones diferentes, una es Skia y otra es OpenGL ES. La implementación posterior se denomina HWUI.

Independientemente de la implementación, la comprensión de la canalización subyacente al proceso de sorteo es fundamental para comprender cómo usar la API de lienzo.

Abajo están los mejores doc disponibles hasta ahora que describen la tubería. Definitivamente lo encontrará útil.

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

Cuestiones relacionadas