/**
* 打开照相机
*/
public void takePhoto(){
//创建File对象,用于存储拍照后的图片
File outputImage = new File(Environment.getExternalStorageDirectory(),"tempImage.jpg");
if(outputImage.exists()){
outputImage.delete();
}
try {
outputImage.createNewFile();//创建文件
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
imageUri = Uri.fromFile(outputImage);
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);<span style="white-space:pre"> </span>//将图片结果以 URI 形式返回
startActivityForResult(intent, TAKE_PHOTO);
}
/**
* 打开相册
*/
public void openAlbum(){
File outputImage = new File(Environment.getExternalStorageDirectory(), "output_image.jpg");
try {
if (outputImage.exists()) {
outputImage.delete();
}
outputImage.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
imageUri = Uri.fromFile(outputImage);
Intent intent = new Intent("android.intent.action.PICK");
intent.setType("image/*");
intent.putExtra("crop", true);
intent.putExtra("scale", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, TAKE_PHOTO);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
switch (requestCode) {
case TAKE_PHOTO:
if (resultCode == Activity.RESULT_OK) {
if (data != null) {
imageUri = data.getData();<span style="white-space:pre"> </span>//getData返回的也是图片的 URI
}
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(imageUri, "image/*");
intent.putExtra("scale", true);<span style="white-space:pre"> </span>//设置可裁剪
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, CROP_PHOTO); // 启动裁剪程序
}
break;
case CROP_PHOTO:
if (resultCode == Activity.RESULT_OK) {
try {
Bitmap bitmap = BitmapFactory.decodeStream (getContext().getContentResolver().openInputStream(imageUri));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
break;
default:
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
Android 打开相机和图库获取图片并裁剪
最新推荐文章于 2024-09-04 07:07:51 发布