Android частично с псевдонимом - PullRequest
0 голосов
/ 05 января 2011

Я пишу приложение, которое отображает большие растровые изображения на плитках, как это делает Google Maps. Сервер отправляет растровые изображения, которые я рисую, в масштабированный / переведенный холст. Я хочу, чтобы эти растровые изображения отображались с сглаживанием, но если я включаю сглаживание на холсте, края растровых изображений смешиваются с фоном (нет / черный) и создают уродливые темные линии между плитками. Есть ли способ сказать Android не сглаживать края растрового изображения на чертеже? Или какие другие решения существуют для этой проблемы?

Ответы [ 2 ]

1 голос
/ 05 января 2011

Вы не включаете сглаживание на холсте, вы включаете его на объекте Paint, который вы предоставляете Canvas.drawBitmap (). Таким образом, решение здесь, я полагаю, состоит в том, чтобы использовать два различных объекта Paint, первый с отключенным AA для рисования растровых изображений, а второй с включенным AA для рисования всего остального.

Вам все еще может быть интересно использовать Paint.setDither () или Paint.setFilterBitmap (), чтобы влиять на то, как отображаются растровые изображения.

0 голосов
/ 07 января 2011

Позвольте мне ответить на вопрос самостоятельно: я запутался, потому что думал, что сглаживание - это та функция, которая мне нужна. Фактически, установка сглаживания на false и растровое фильтрование на true на объекте Paint решили проблему. Сглаживание, установленное на true, сделало уродливые линии между плитками. Спасибо!

...