package com.example.j;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.Matrix;
import android.view.Menu;
import android.widget.ImageView;
public class MainActivity extends Activity {
/*宣告變數*/
private Bitmap bmp;
private ImageView mImageView;
private int height=100;
private int width=100;
Bitmap mBitmap;
int mBitmapWidth = 0;
int mBitmapHeight = 0;
int mArrayColor[] = null;
int mArrayColorLengh = 0;
long startTime = 0;
int mBackVolume = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String myJpgPath = "/sdcard/001.jpg";
mBitmap=BitmapFactory.decodeFile(myJpgPath);
//讀取路徑的檔案 解碼轉檔成BMP 存在bmp中
mImageView = (ImageView)findViewById(R.id.myImageView);
mImageView.setImageBitmap(mBitmap);//顯示bmp的照片
mBitmapWidth = mBitmap.getWidth();
mBitmapHeight = mBitmap.getHeight();
mArrayColorLengh = mBitmapWidth * mBitmapHeight;
mArrayColor = new int[mArrayColorLengh];
int count = 0;
for (int i = 0; i < mBitmapHeight; i++) {
for (int j = 0; j < mBitmapWidth; j++) {
//獲得Bitmap 圖片中每一個點的color顏色值
int color = mBitmap.getPixel(j, i);
//將顏色值存在一個陣列中 方便後面修改
mArrayColor[count] = color;
//如果你想做的更細緻的話 可以把顏色值的R G B 拿到做回應的處理
int r = Color.red(color);
int g = Color.green(color);
int b = Color.blue(color);
count++;
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//要怎麼做修改後把它顯示出來?這是我打的不過圖不會跑出來= =
int i=100;
int j=100;
int color = mBitmap.getPixel(j, i);
mImageView.setImageBitmap(mBitmap);//顯示bmp的照片
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
} |