Бітові карти в Android додатку

&nbsp

Бітова карта (Bitmap) – останній, четвертий, основоположний компонент для малювання Крім неї, в цей квартет входить те, що ми збираємося малювати (String, Rect і т д), Paint, за допомогою якого ми будемо малювати, і Canvas, на якому потрібно малювати Сама битовая карта містить біти Як правило, вам не доведеться працювати безпосередньо з Bitmap, так як Canvas, який посилає як аргумент до методу onDraw, вже несе в собі одну бітову карту

Зазвичай Bitmap використовується для кешування малюнка, створювати який досить довго, а змінювати якщо і доводиться, то нечасто Уявімо собі, наприклад, графічний редактор, що дозволяє користувачеві малювати на декількох шарах одночасно Шари діють як прозорі накладення, що покривають основне зображення, і користувач може за бажанням включати і вимикати ті або інші верстви Однак буде дуже складно заново малювати той чи інший шар при кожному виклику onDraw Швидше було б відображати весь малюнок при першій його появі, з усіма видимими шарами, а потім перемальовувати той єдиний шар, в який користувач вніс відображуване зміна

Реалізація такого додатка може виглядати як у прикладі 99

Приклад 99 Кешування графіки

Як правило, цей віджет просто копіює кешовану інформацію Bitmap, cache в Canvas, переданий методу onDraw Тільки якщо кеш буде позначений як застарілий шляхом виклику іrivalіdateCache, буде викликатися drawCachedBitmap – та карта, яка і відобразить віджет

На практиці Bitmap найчастіше використовується для програмного подання графічного ресурсу ResourcesgetDrawable повертає BitmapDrawable, якщо ресурс – це зображення

Якщо поєднати ці дві ідеї, виявляється, що при кешуванні зображення та укладанні його в Drawable відкривається ще одна цікава перспектива Справа в тому, що будь-яка намальована інформація допускає постобробку Додаток, що використовує всі техніки, дозволяє користувачеві намалювати в кімнаті меблі (створюючи карту бітів), а потім походити по цій кімнаті (за допомогою матричних перетворень)

Джерело: Android Програмування на Java для нового покоління мобільних пристроїв

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*