com.android.camera.action.CROP 可以传那些类型
时间: 2023-11-25 11:04:22 浏览: 340
com.android.camera.action.CROP 是 Android 系统自带的一个图片裁剪 Intent,可以裁剪指定图片,并返回裁剪后的结果。它可以传递以下类型:
- "image/*":表示所有类型的图片文件;
- "image/jpeg":表示 JPEG 格式的图片文件;
- "image/png":表示 PNG 格式的图片文件;
- "image/gif":表示 GIF 格式的图片文件;
- "image/bmp":表示 BMP 格式的图片文件。
注意:不同的设备和系统版本可能支持的类型不一样,具体支持哪些类型需要根据实际情况来确定。
相关问题
com.android.camera.action.CROP设置不可以拉伸
在使用 `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,这样就可以限制裁剪区域的宽高比,从而避免输出图片被拉伸的情况。
com.android.camera.action.CROP设置不可以缩放
在Android中使用 `com.android.camera.action.CROP` 进行裁剪时,可以使用 `setAspectRatio()` 方法来设置裁剪区域的宽高比,而不需要使用 `setOutput()` 方法设置输出图片的尺寸。同时,如果希望保留原图的尺寸不进行缩放,可以设置 `setOutputX()` 和 `setOutputY()` 方法的值为原图的宽度和高度,如下所示:
```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("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("return-data", false);
startActivityForResult(intent, requestCode);
```
在上面的代码中,`setOutputX()` 和 `setOutputY()` 的值设置为600,表示输出的图片尺寸与原图尺寸一致。同时,`scale` 参数设置为 `true` 表示允许缩放,`scaleUpIfNeeded` 参数设置为 `true` 表示如果输出尺寸比输入尺寸大,则进行缩放。最后,`setOutputFormat()` 方法设置输出图片的格式。
阅读全文