2
我已經編寫了用於android上的圖像處理的java。我嘗試構建在圖像特定區域平均顏色的方法。我發現了一些相同的警告,我真的不知道如何解決它。例如,警告告訴我「局部變量的值」紅色「沒有使用」,所以在第一個我通過在頂部聲明int紅色來解決,但它不能修復。 「紅色」,「綠色」,「藍色」,「xImage」,「yImage」都是一樣的。另外,TextView在每個變量中都顯示零。Java(android):如何在特定區域平均rgb
如果我把紅色返回< < 16 |綠色< < 8 |藍色;該警告丟失,但TextView仍顯示爲零。
這裏是java代碼。請幫助我T^T。
import java.io.File;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Environment;
import android.widget.ImageView;
import android.widget.TextView;
public class ProcessPic extends Activity {
int xImage,yImage,red,green,blue;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_process);
String path = Environment.getExternalStorageDirectory()+ "/TestProcess/picture.jpg";
File imgFile = new File(path);
Bitmap myBitmapPic = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
ImageView myImage = (ImageView) findViewById(R.id.my_image);
myImage.setImageBitmap(myBitmapPic);
ProcessPic test = new ProcessPic();
test.AverageColor(myBitmapPic, 0, 200, 0, 200);
TextView tv1 = (TextView)findViewById(R.id.textView1);
TextView tv2 = (TextView)findViewById(R.id.textView2);
TextView tv3 = (TextView)findViewById(R.id.textView3);
TextView tv4 = (TextView)findViewById(R.id.textView4);
TextView tv5 = (TextView)findViewById(R.id.textView5);
tv1.setText(Integer.toString(xImage));
tv2.setText(Integer.toString(yImage));
tv3.setText(Integer.toString(red));
tv4.setText(Integer.toString(green));
tv5.setText(Integer.toString(blue));
}
public void AverageColor (Bitmap myBitmap,int minw, int maxw,int minh, int maxh){
int xImage = myBitmap.getWidth();
int yImage = myBitmap.getHeight();
int red = 0;
int green = 0;
int blue = 0;
int count = 0;
for (int i=minw;i<maxw;i++){
for (int j=minh;j<maxh;j++){
int pixel = myBitmap.getPixel(i,j);
red += pixel >> 16 & 0xFF;
green += pixel >> 8 & 0xFF;
blue += pixel & 0xFF;
count++;
}
}
red /= count;
green /= count;
blue /= count;
//return red << 16 | green << 8 | blue;
}
}
非常感謝。它真的工作:-) – user3101751