拍照
public void paizhao(View view) {
// 通过隐式跳转打开相机拍照的页面
Intent intent = new Intent();
// 指定动作...拍照的动作 CAPTURE...捕获
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
// -------保存到sd卡
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path)));
// 拍照的目的是拿到拍的图片
startActivityForResult(intent, 1000);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1000 && resultCode == RESULT_OK) {
// 可以拿回数据
//Bitmap bitmap = data.getParcelableExtra("data");
//img_view.setImageBitmap(bitmap);
img_view.setImageURI(Uri.fromFile(new File(path)));
}
}
相册
/**
* 相册
*/
public void xiangce(View view) {
// 通过隐式跳转方式打开相册
Intent intent = new Intent();
intent.setAction(Intent.ACTION_PICK);
// 设置图片的类型
intent.setType("image/*");
// 需要回传值
startActivityForResult(intent, 999);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 999 && resultCode == RESULT_OK) {
// 取出相册的图片
Uri uri = data.getData();
img_view.setImageURI(uri);
}
}
裁剪
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
/**
* 裁剪
*/
if (requestCode == 1000 && resultCode == RESULT_OK) {
//接收裁剪后的数据
Bitmap bitmap = data.getParcelableExtra("data");
img_view.setImageBitmap(bitmap);
}
}
// 裁剪的方法
private void crop(Uri fromFile) {
// 跳转到裁剪页面
Intent intent = new Intent();
intent.setAction("com.android.camera.action.CROP");
// 设置裁剪的图片和类型
intent.setDataAndType(fromFile, "image/*");
// 设置是否支持裁剪
intent.putExtra("crop", "true");
// 设置裁剪框的比例
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
// 设置输出的照片的宽和高
intent.putExtra("outputX", 249);
intent.putExtra("outputY", 249);
// 是否返回裁剪后的数据
intent.putExtra("return-data", true);
// 需要回传值
startActivityForResult(intent, 1000);
}