Android拍照裁剪可以使用Intent实现,具体步骤如下:创建一个File对象,用于存储拍照后的图片;
Android拍照裁剪可以使用Intent实现,具体步骤如下:
1. 创建一个File对象,用于存储拍照后的图片;
2. 启动相机Intent,并将File对象传入;
3. 拍照后,获取返回的intent,并获取拍照后的图片Uri;
4. 启动裁剪Intent,并将图片Uri传入;
5. 裁剪完成后,获取返回的intent,并获取裁剪后的图片Uri;
6. 通过Uri获取图片路径,并显示在ImageView中。
代码示例:
// 创建File对象,用于存储拍照后的图片
String filePath = Environment.getExternalStorageDirectory() + "/temp.jpg";
File tempFile = new File(filePath);
// 启动相机Intent,并将File对象传入
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tempFile));
startActivityForResult(intent, TAKE_PHOTO);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case TAKE_PHOTO:
// 获取拍照后的图片Uri
Uri photoUri = Uri.fromFile(tempFile);
// 启动裁剪Intent,并将图片Uri传入
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(photoUri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 300);
intent.putExtra("outputY", 300);
intent.putExtra("return-data", true);
startActivityForResult(intent, CROP_PHOTO);
break;
case CROP_PHOTO:
// 获取裁剪后的图片Uri
Uri cropUri = data.getData();
// 通过Uri获取图片路径,并显示在ImageView中
String cropPath = getRealFilePath(this, cropUri);
Bitmap bitmap = BitmapFactory.decodeFile(cropPath);
mImageView.setImageBitmap(bitmap);
break;
}
}
}
// 通过Uri获取图片
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(40条)