2016-03-23 5 views
0

У меня есть изображение монохромное, что означает только белые и черные пиксели. Я сделал несколько версий изображения, чтобы покрыть все папки с разрешением dpi. Я использую монохромное изображение, так как я хочу применить алгоритм заливки. Проблема в том, что в некоторых устройствах андроид использует измененные версии изображений, а при масштабировании есть некоторые серые пиксели. Чтобы справиться с этим, я попытался исправить пиксели и преобразовать серый в белый или черный, но это занимает значительное время. Можно ли заставить андроид создавать монохромные изображения при изменении размера изображения или применить быстрый фильтр для восстановления монохромного изображения? Пока я не пробовал, должен ли я генерировать разные версии изображений в папке nodpi и использовать их без масштабирования, возможно, с посещением центра?Android изменяет размер монохромного изображения, создавая серые пиксели

+0

В качестве альтернативы: Не могли бы вы попытаться работать с растровыми изображениями и задать результат для изображения? – Christopher

+0

Вы хотите работать с рисунком, а не с изображением? Как я могу это сделать? Все, что мне нужно - это растровое изображение, которое я получаю от изображения! Если я могу получить его непосредственно из файла изображения, я думаю, что я спасен! – George

ответ

0

Вы можете загрузить Drawable как Bitmap.

final BitmapFactory.Options options = new BitmapFactory.Options(); 
// Load the bitmap as mutable object 
options.inMutable = true; 
final Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.my_image, options); 

Затем вы можете управлять им с помощью алгоритма и, наконец, вы будете установить результат вашего ImageView

imageView.setImageBitmap(bitmap); 

Таким образом, вы не должны получить любые серые пиксели, вызванные Android Scaling.

Дополнительные опции:

  1. See here,
  2. And here.
+0

После четырех строк кода и перед запуском моего алгоритма мне нужно масштабировать изображение до размера экрана, а затем назначить его на изображение. Если я этого не делаю и назначаю непосредственно растровое изображение в imageView на последнем шаге, не должен ли я получить тот же результат? Когда я применяю алгоритм, у меня должно быть растровое изображение размером с экран, поэтому я должен изменить размер изображения в выпадающей папке. – George

Смежные вопросы