Может кто-нибудь объяснить мне способ setPixel()
работает в Android? Я пытаюсь заменить некоторые пиксели на растровое изображение. Я извлекаю их с помощью метода getPixel()
и их отдельных цветов, например. green = Color.green(a[i][j]);
, но я не могу установить их новые значения, чтобы показать обработанное изображение на экране.Проблемы с использованием метода setPixel()
Редактировать: Здесь происходит некоторая обработка. Я пытаюсь алгоритмически преобразовать в оттенки серого
for (int i = 0; i < grayWidth; i++) {
for (int j = 0; j < grayHeight; j++) {
a[i][j] = myImage.getPixel(i, j);
red = Color.red(a[i][j]);
green = Color.green(a[i][j]);
blue = Color.blue(a[i][j]);
gray = (red + green + blue)/3;
a[i][j] = gray;
}
}
, а затем заменить пиксели:
for (int m = 0; m < grayHeight; m++) {
for (int n = 0; n < grayWidth; n++) {
grayScale.setPixel(m, n, a[m][n]);
}
}
и, наконец, показать его на экране
imageView.setImageBitmap(grayScale);
Извините за не объясняя его тщательно в первую очередь/
Какое сообщение об ошибке? И части кода, где вы получаете и устанавливаете пиксели. –
@DavidK Обработанного изображения просто нет. Приложение обрабатывает его, но конечный результат не будет отображаться на экране с помощью drawBitmap –
Используете ли вы предложение try/catch, чтобы поймать исключения? Они могут не разбивать ваше приложение, но все равно могут произойти. Кроме того, дайте нам некоторый код. –