Android中裁剪一张图片
做一个相框的部分,功能是点击相框可选择一张照片进行裁剪,得到的部分重新set到Imageview上去。
点击Imageview启动一个Intent,这个Intent具体信息如下所示:
private Intent getCropImgIntent(int width, int height) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null); intent.setType("image/*"); intent.putExtra("crop", "true"); // 裁剪框比例 intent.putExtra("aspectX", 2); intent.putExtra("aspectY", 1); // 图片输出大小 intent.putExtra("outputX", width); intent.putExtra("outputY", height); intent.putExtra("return-data", true); return intent; }
同时我们传进来宽和高的数据,可自由进行裁剪,从这里我们得到一个带着数据的Intent。
之后,我们可以重写Activity的onActivityResult方法,在这个方法里处理上面返回的Intent数据。
if (resultCode == RESULT_OK) { Bitmap tempBmp = intent.getParcelableExtra("data"); }
将得到的tempBmp设置到Imageview上去,如果需要的话,还可以在这里对bitmap进行自己的处理等等。