Android частично сглаживает псевдоним

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


person sbrandt    schedule 05.01.2011    source источник


Ответы (2)


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

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

person Josh    schedule 05.01.2011

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

person sbrandt    schedule 07.01.2011
comment
Да, это был мой ответ от 5 января :( - person Josh; 10.01.2011
comment
Вы не упомянули фильтрацию по растровым изображениям, так что это не так. - person sbrandt; 24.12.2011
comment
Разве вы не говорите об использовании Paint.setFilterBitmap ()? Если так, то я упомянул фильтрацию растровых изображений. В любом случае, я рад, что вы в этом разобрались (почти год назад :)). - person Josh; 27.12.2011
comment
Нет, я не об этом говорил :) Меня просто смутил тот факт, что все говорят о сглаживании, которое влияет только на границы текстуры, но мне нужна была фильтрация растровых изображений для сглаживания самой текстуры. - person sbrandt; 30.12.2011