Skia и Android Рисуют объекты рисования и их использование или документацию - PullRequest
6 голосов
/ 08 февраля 2010

Кто-нибудь знает хорошую документацию для библиотеки чертежей Skia, используемой Android?

Основной объект Canvas практически не имеет состояния, поэтому я думаю особенно об объектах, которые можно встроить в объект Paint. Я разработал методом проб и ошибок, как использовать некоторые ColorFilters и сделал крутой эффект с ColorMatrixColorFilter. Теперь у меня есть тени, которые я хочу от шейдера LinearGradient. Я думаю, что понимаю PathEffects и у меня есть некоторые идеи по поводу XferModes. MaskFilters и Rasterizers все еще совершенно непрозрачны для меня. Но метод проб и ошибок не является хорошим способом понять сложную библиотеку.

В основном меня беспокоит, что в документации по Android вообще не обсуждается 2D-графика и способы ее использования. Даже классные Javadocs часто не объясняют, что делает класс. Фактическая функция в коде Skia C, которую я могу получить, но в ней также нет документации. Я видел несколько классных демонстраций, но Google мало объяснил, как они были сделаны.

Является ли единственный способ понять эти эксперименты и прочитать код на C? Как насчет эффективности и лучших практик? Виртуальная машина Davlik / Android чувствительна к распределению памяти, а иногда и медленна, и я обеспокоен тем, что делаю не так, как надо.

Ответы [ 2 ]

2 голосов
/ 19 мая 2010

Skia имеет свой собственный сайт проекта кода Google, где вы можете найти общий обзор.

Встроенные документы можно просмотреть по этой ссылке на сайте проекта

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

И вы можете присоединиться к списку рассылки. Дизайнеры и сообщество ответят на вопросы.

Еще одна хорошая ссылка удивляет от Apple. Документация Apple QuickDraw GX объясняет множество концепций 2D-векторной графики и может достаточно хорошо применяться к Skia.

1 голос
/ 14 апреля 2013

У API Android canvas было две отличные реализации: одна - Skia, а другая - OpenGL ES. Более поздняя реализация - это так называемый HWUI.

Независимо от реализации, понимание конвейера, лежащего в основе процесса рисования, крайне важно для понимания того, как использовать API Canvas.

Ниже приведен лучший документ, доступный на данный момент для описания конвейера. Вы обязательно найдете это полезным.

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

...