android 裁剪照片
时间: 2023-07-22 08:45:26 浏览: 46
在 Android 中,可以使用系统自带的裁剪功能来对照片进行裁剪。以下是一个简单的示例代码:
```java
public void cropImage(Uri uri) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 256);
intent.putExtra("outputY", 256);
intent.putExtra("return-data", true);
startActivityForResult(intent, CROP_IMAGE_REQUEST_CODE);
}
```
其中,`uri` 是要裁剪的照片的 Uri。`aspectX` 和 `aspectY` 分别表示裁剪框的宽高比,`outputX` 和 `outputY` 分别表示裁剪后输出的图片的宽高。在 `onActivityResult` 方法中,可以获取裁剪后的图片数据:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CROP_IMAGE_REQUEST_CODE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
if (extras != null) {
Bitmap bitmap = extras.getParcelable("data");
// 在这里处理裁剪后的图片
}
}
}
```
注意,裁剪后的图片数据可能会比较大,需要注意内存占用和性能问题。可以考虑使用第三方库来处理图片,例如 Glide、Picasso 等。