Android图片裁剪
时间: 2024-01-19 07:18:02 浏览: 31
以下是Android图片裁剪的示例代码:
```java
// 引用[1]
// 在AndroidManifest.xml文件中添加权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
// 在Activity中调用图片裁剪功能
private static final int REQUEST_CODE_PICK_IMAGE = 1;
private static final int REQUEST_CODE_CROP_IMAGE = 2;
private Uri mImageUri;
// 启动图片选择器
private void pickImage() {
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, REQUEST_CODE_PICK_IMAGE);
}
// 处理图片选择结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_PICK_IMAGE && resultCode == RESULT_OK) {
mImageUri = data.getData();
cropImage();
} else if (requestCode == REQUEST_CODE_CROP_IMAGE && resultCode == RESULT_OK) {
// 处理裁剪后的图片
Bitmap bitmap = BitmapFactory.decodeFile(mImageUri.getPath());
// 显示裁剪后的图片
imageView.setImageBitmap(bitmap);
}
}
// 启动图片裁剪
private void cropImage() {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(mImageUri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 200);
intent.putExtra("outputY", 200);
intent.putExtra("return-data", false);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri);
startActivityForResult(intent, REQUEST_CODE_CROP_IMAGE);
}
```