com.android.camera.action.CROP设置不可以拉伸
时间: 2023-10-15 17:08:14 浏览: 135
在使用 `com.android.camera.action.CROP` 进行图片裁剪时,如果希望输出的图片尺寸与裁剪区域的宽高比一致,可通过设置 `setAspectRatio()` 方法来实现。在此基础上,如果不希望输出的图片被拉伸,可以设置 `setMin()` 和 `setMax()` 方法的值来限制裁剪区域的最小和最大尺寸,如下所示:
```java
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", 600);
intent.putExtra("outputY", 600);
intent.putExtra("scale", true);
intent.putExtra("scaleUpIfNeeded", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputUri);
// 设置裁剪区域的最小和最大尺寸
intent.putExtra("minCropWidth", 400);
intent.putExtra("minCropHeight", 400);
intent.putExtra("maxCropWidth", 800);
intent.putExtra("maxCropHeight", 800);
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("return-data", false);
startActivityForResult(intent, requestCode);
```
在上面的代码中,`setMin()` 方法设置裁剪区域的最小尺寸为 400x400,`setMax()` 方法设置裁剪区域的最大尺寸为 800x800,这样就可以限制裁剪区域的宽高比,从而避免输出图片被拉伸的情况。
阅读全文