SurfaceView Bitmap артефакты что делать?
Добавлено: 21 фев 2015, 19:49
Добрый вечер люди. Изучая возможности SurfaceView, я сразу же столкнулся с проблемой. Облазил весь инет и справочники, такое чувство, что она только у меня одного. Дело вот в чем:
Подготовил я красивую PNG картинку, чтобы использовать как background для простенькой игры. Закинул в /res/drawable
Все стандартно.
Загрузка:
Отрисовка:
Запускаю. Картинка выводится, но заметна потеря качества:

Оригинал:

Изображение 32 bit выводится в 16 bit формате. Почему так происходит я пока понять не могу.
LogCat говорит мне, что формат bitmap ARGB_8888. То есть сжатия(в ARGB_4444 или RGB_565) не происходило.. Куда тогда пропала информация о цвете?? Продолжаю эксперименты
. Буду очень благодарен за помоощь.
Подготовил я красивую PNG картинку, чтобы использовать как background для простенькой игры. Закинул в /res/drawable
Все стандартно.
Загрузка:
Код: Выделить всё
public class Pain extends SurfaceView implements SurfaceHolder.Callback {
Bitmap bg = (BitmapFactory.decodeResource(getResource(), R.drawable.bg));
.......Код: Выделить всё
public void pain(Canvas c) {
c.drawBitmap(bg, x, y, null);
} 
Оригинал:

Изображение 32 bit выводится в 16 bit формате. Почему так происходит я пока понять не могу.
LogCat говорит мне, что формат bitmap ARGB_8888. То есть сжатия(в ARGB_4444 или RGB_565) не происходило.. Куда тогда пропала информация о цвете?? Продолжаю эксперименты