嗨,大家好,我需要你們的幫助,我試圖用紅,綠,藍的平均值將彩色圖像轉換成灰度。但它出來有錯誤,Android:將彩色圖像轉換爲灰度
這裏是我的代碼
imgWidth = myBitmap.getWidth();
imgHeight = myBitmap.getHeight();
for(int i =0;i<imgWidth;i++) {
for(int j=0;j<imgHeight;j++) {
int s = myBitmap.getPixel(i, j)/3;
myBitmap.setPixel(i, j, s);
}
}
ImageView img = (ImageView)findViewById(R.id.image1);
img.setImageBitmap(myBitmap);
但是當我在模擬器上運行我的應用程序,它是強制關閉。任何想法?
我已經解決了我的問題,使用下面的代碼:
for(int x = 0; x < width; ++x) {
for(int y = 0; y < height; ++y) {
// get one pixel color
pixel = src.getPixel(x, y);
// retrieve color of all channels
A = Color.alpha(pixel);
R = Color.red(pixel);
G = Color.green(pixel);
B = Color.blue(pixel);
// take conversion up to one single value
R = G = B = (int)(0.299 * R + 0.587 * G + 0.114 * B);
// set new pixel color to output bitmap
bmOut.setPixel(x, y, Color.argb(A, R, G, B));
}
}
什麼是錯誤發佈錯誤日誌。 – user370305
你是否在日誌中得到任何確切的錯誤?如stackoverflow? – doNotCheckMyBlog