/**
* 裁剪图片
*/
private void startPhotoZoom(Uri uri,
int size) {
Intent intent =
new Intent(
"com.android.camera.action.CROP");
intent.setDataAndType(uri,
"image/*");
intent.putExtra(
"crop",
"true");
intent.putExtra(
"aspectX",
1);
intent.putExtra(
"aspectY",
1);
intent.putExtra(
"outputX", size);
intent.putExtra(
"outputY", size);
/**
* 此方法返回的图片只能是小图片(sumsang测试为高宽160px的图片)
* 故将图片保存在Uri中,调用时将Uri转换为Bitmap,此方法还可解决miui系统不能return data的问题
*/
uritempFile = Uri.parse(
"file://" +
"/" + Environment.getExternalStorageDirectory().getPath() +
"/" +
"small.jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, uritempFile);
intent.putExtra(
"outputFormat", Bitmap.CompressFormat.JPEG.toString());
startActivityForResult(intent, PHOTO_REQUEST_CUT);
}
/**
* 处理返回结果
*/
@Override
protected void onActivityResult(
int requestCode,
int resultCode, Intent data) {
case PHOTO_REQUEST_CUT:
Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(uritempFile));
break;
}
super.onActivityResult(requestCode, resultCode, data);
}