public class MainActivity extends Activity implements OnClickListener
{
private
Button bt;
private
ImageView iv;
private
ImageView iv_after;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout. activity_main);
iv=(ImageView)
findViewById(R.id. iv);
bt=(Button)
findViewById(R.id. bt);
iv_after=(ImageView)
findViewById(R.id. iv_after);
bt.setOnClickListener( this);
}
/**
* 获取图片的方法
* @param v
*/
@Override
public void onClick(View
v) {
//创建隐式意图
Intent intent= new Intent();
intent.setAction( "android.intent.action.PICK");
intent.addCategory(intent. CATEGORY_DEFAULT);
intent.setType( "image/*");
startActivityForResult(intent, 0);
}
/**
* 获取Activity返回的数据
*/
@Override
protected void onActivityResult( int requestCode, int resultCode,
Intent data) {
super.onActivityResult(requestCode,
resultCode, data);
Uri uri = data.getData(); //接收到返回照片的 uri
iv.setImageURI(uri);
try {
//得到原图的bitmap 只读(要从这个bitmap读取像素点到其他的空白bitmap上)
Bitmap bitmap=BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));
//创建一个空白可修改的bitmap b1
Bitmap alertBitmap=Bitmap.createBitmap(bitmap.getWidth()/2, bitmap.getHeight()/2,
bitmap.getConfig());
//将空白可修改的bitmap作为画布 b2
Canvas canvas= new Canvas(alertBitmap);
//创建画笔
Paint paint= new
Paint();
paint.setColor(Color. GREEN);
//在画布上画原图片的像素点
Matrix matrix = new
Matrix();
matrix.setScale(0.5f,0.5f); //设置x,y方向的缩放比
canvas.drawBitmap(bitmap, matrix, paint); //1.原图
2.矩阵 3.画笔
//将画好的b2挂在iv上
iv_after.setImageBitmap(alertBitmap);
} catch (Exception
e) {
e.printStackTrace();
}
}
}