java.lang.IllegalStateException при выполнении setPixel

220
23 декабря 2017, 05:30

Считываю изображение из галереи, далее помещаю его в ImageView, все корректно. Однако, когда я пытаюсь изменить пиксель, то получаю данную ошибку. Притом данная ошибка возникает тогда, когда выбирается изображение не с камеры, а, например, из скриншотов. Если брать из загрузок, то работает корректно. С чем это может быть связано? Само изображение хранится в Bitmap

Answer 1

Из документации Bitmap.setPixel(int, int, int) :

Throws
IllegalStateException if the bitmap is not mutable
IllegalArgumentException if x, y are outside of the bitmap's bounds.

У Вас битмап неизменяемый, создать изменяемую копию можно методом:

Bitmap mutable = bitmap.copy(Bitmap.Config.ARGB_8888, true);

READ ALSO
Внутренние и вложенные классы

Внутренние и вложенные классы

Внутренние и вложенные классы — это не одно и тоже

201
Вопрос про исключения

Вопрос про исключения

Недавно начал изучать Java под AndroidКак я понял, исключения нужно брать в блок try and catch

179
Нужно создать файловый менеджер через walkFileTree [требует правки]

Нужно создать файловый менеджер через walkFileTree [требует правки]

Нужно создать файловый менеджер через walkFileTree

139