Я пишу приложение, которое отображает большие растровые изображения в плитках, как это делает Google Maps. Сервер отправляет растровые изображения, которые я рисую, на масштабированный / переведенный холст. Я хочу, чтобы эти растровые изображения были нарисованы со сглаживанием, но если я включаю сглаживание на холсте, края растровых изображений смешиваются с фоном (нет / черный) и создают уродливые темные линии между плитками. Есть ли способ сказать Android не сглаживать края растрового изображения при рисовании? Или какие еще существуют решения этой проблемы?
Android частично сглаживает псевдоним
Ответы (2)
Вы не включаете сглаживание на холсте, вы включаете его в объекте Paint, который вы предоставляете Canvas.drawBitmap (). Итак, я считаю, что решение здесь состоит в том, чтобы использовать два разных объекта Paint, первый с отключенным AA для рисования растровых изображений, а второй с включенным AA для рисования всего остального.
Вы все еще можете быть заинтересованы в использовании Paint.setDither () или Paint.setFilterBitmap (), чтобы повлиять на способ рисования растровых изображений.
Позвольте мне ответить на этот вопрос самостоятельно: я запутался, потому что подумал, что сглаживание - это та функция, которая мне нужна. Фактически, установка сглаживания false и bitmapfiltering на true на объекте Paint решила проблему. Установленное на «Сглаживание» значение «истина» сделало некрасивые линии между плитками. Спасибо!