//get photo result in onActivityResult
if (resultCode == RESULT_OK) {
if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
ShowToast("SD不可用");
return;
}
isFromCamera = true;
File file = new File(filePath);
degree = PhotoUtil.readPictureDegree(file.getAbsolutePath());
Log.i("life", "拍照后的角度:" + degree);
startImageAction(Uri.fromFile(file), 200, 200,
BmobConstants.REQUESTCODE_UPLOADAVATAR_CROP, true);
}
/** cut image in system activity
* @Title: startImageAction
* @return void
* @throws
*/
private void startImageAction(Uri uri, int outputX, int outputY,
int requestCode, boolean isCrop) {
Intent intent = null;
if (isCrop) {
intent = new Intent("com.android.camera.action.CROP");
} else {
intent = new Intent(Intent.ACTION_GET_CONTENT, null);
}
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", outputX);
intent.putExtra("outputY", outputY);
intent.putExtra("scale", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
intent.putExtra("return-data", true);
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("noFaceDetection", true); // no face detection
startActivityForResult(intent, requestCode);
}
/**
* get the cropped photo
* @param data
*/
private void saveCropAvator(Intent data) {
Bundle extras = data.getExtras();
if (extras != null) {
Bitmap croppedAvator = extras.getParcelable("data");
}
}
Android 拍照后调用系统裁剪界面
最新推荐文章于 2021-05-26 21:30:12 发布