android 选择图片后裁切
时间: 2023-07-15 11:15:33 浏览: 42
在 Android 中,可以使用系统自带的裁剪工具来对选择的图片进行裁剪。以下是一些基本步骤:
1. 创建一个 Intent 对象,用于启动裁剪工具:
```
Intent intent = new Intent("com.android.camera.action.CROP");
```
2. 设置 Intent 的数据和类型:
```
intent.setDataAndType(uri, "image/*");
```
其中,uri 表示选择的图片的 Uri。
3. 设置裁剪工具的参数:
```
intent.putExtra("crop", "true");
intent.putExtra("aspectX", aspectX);
intent.putExtra("aspectY", aspectY);
intent.putExtra("outputX", outputX);
intent.putExtra("outputY", outputY);
intent.putExtra("scale", true);
intent.putExtra("return-data", false);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputUri);
```
其中,aspectX 和 aspectY 分别表示裁剪框的宽高比,outputX 和 outputY 分别表示输出图片的宽高(单位为像素),outputUri 表示输出图片的 Uri。
4. 启动裁剪工具:
```
startActivityForResult(intent, REQUEST_CODE_CROP);
```
5. 在 onActivityResult 方法中获取裁剪后的图片:
```
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE_CROP && resultCode == RESULT_OK) {
Bitmap bitmap = BitmapFactory.decodeFile(outputUri.getPath());
imageView.setImageBitmap(bitmap);
}
}
```
需要注意的是,裁剪工具并不是所有 Android 系统都支持,有些系统可能没有预装相应的应用程序,因此建议在使用裁剪工具之前先检查系统是否支持。