LINUX.ORG.RU

Размытие при увеличении изображений

 


0

1

Есть пиксельная картинка с, например, 8-ю цветами, её надо растянуть в 7 раз, чтобы она состояла из квадратов 7х7 пикселей, того же цвета что оригинальный пиксель. Но получается вот что - с левой стороны увеличение через gimp без интерполяции, а с правой android.
И дело не параметре сглаживания, который передаётся в createScaledBitmap, с ним вообще мыло жуткое получается.
Подумал что проблема в методе createScaledBitmap, написал свой метод, который увеличивает картинки, тут в принципе не должно быть никаких новых цветов(серый например). Но результат тот же самый!
Из чего я сделал вывод что это canvas смазывает картинки, но решение найти так и не удалось, я в тупике. По моему это до крайности странное поведение по умолчанию.

Ответ на: комментарий от stevejobs
Bitmap bm = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.xxx);
bm = Bitmap.createScaledBitmap(bm, bm.getWidth()*8, bm.getHeight()*8, false);
Paint paint = new Paint();
paint.setAntiAlias(false);
paint.setFilterBitmap(false);
canvas.drawBitmap(bm, 0, 0, paint);
GanGSISoft ★★
() автор топика
Ответ на: комментарий от stevejobs

bitmap.setDensity(Bitmap.DENSITY_NONE)

безрезультатно

drawable-nodpi

не по может так как пытался рисовать картинку генерированную программно, на основе пикселей из оригинальной.

GanGSISoft ★★
() автор топика
Ответ на: комментарий от stevejobs

Еще попробуй положить в drawable-nodpi

Спасибо!
Таки получилось. Оказалось что оригинальная картинка уже была испорчена, после перемещения в nopdi стало всё нормально

GanGSISoft ★★
() автор топика
Ответ на: комментарий от GanGSISoft

сами Боги Телепатии помогли тебе через меня

stevejobs ★★★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.