有人可以解釋我的方式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子句來捕獲異常?他們可能不會崩潰你的應用程序,但仍可能發生。另外,給我們一些代碼.. –