有人可以解释我的方式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子句来捕获异常?他们可能不会崩溃你的应用程序,但仍可能发生。另外,给我们一些代码.. –