public static void cropPhoto(Activity act, Uri uri) {
Intent iintent = new Intent("com.android.camera.action.CROP");
iintent.setClassName("com.android.camera",
"com.android.camera.CropImage");
iintent.setData(uri);
iintent.putExtra("outputX", 96);
iintent.putExtra("outputY", 96);
iintent.putExtra("aspectX", 1);
iintent.putExtra("aspectY", 1);
iintent.putExtra("scale", true);
iintent.putExtra("return-data", false);// true:不返回uri,false:返回uri
act
.startActivityForResult(iintent,
MediaHelper.CROP_PHOTO_REQUEST_CODE);
Intent iintent = new Intent("com.android.camera.action.CROP");
iintent.setClassName("com.android.camera",
"com.android.camera.CropImage");
iintent.setData(uri);
iintent.putExtra("outputX", 96);
iintent.putExtra("outputY", 96);
iintent.putExtra("aspectX", 1);
iintent.putExtra("aspectY", 1);
iintent.putExtra("scale", true);
iintent.putExtra("return-data", false);// true:不返回uri,false:返回uri
act
.startActivityForResult(iintent,
MediaHelper.CROP_PHOTO_REQUEST_CODE);
}
//取得截图后的图片
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
Bitmap bm = intent.getParcelableExtra("data");
}
系统的裁剪图片默认对图片进行人脸识别,当识别到有人脸时,会按aspectX和aspectY为1来处理,如果想设置成自定义的裁剪比例,需要设置noFaceDetection为true。
即iintent.putExtra("noFaceDetection", true); 取消人脸识别功能。