/**
* 用于截取大图
* @param ctx
* @param uri
* @param outputX
* @param outputY
* @param requestCode
*/
public static void cropImageUri(Activity ctx, Uri uri, int outputX, int outputY, int requestCode, boolean scale) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, IMAGE_UNSPECIFIED);
intent.putExtra("crop", "true");//发送裁剪信号
intent.putExtra("outputX", outputX);//裁剪区的宽
intent.putExtra("outputY", outputY);//裁剪区的高
intent.putExtra("aspectX", 1);//X方向上的比例
intent.putExtra("aspectY", 1);//Y方向上的比例
intent.putExtra("scale", scale);//是否保留比例
//intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);//直接输出文件
intent.putExtra("return-data", true); //是否返回数据
// intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("noFaceDetection", true); //关闭人脸检测
ctx.startActivityForResult(intent, requestCode);
}
1、在设置图片的长宽时,会自动压缩图片使用时请注意。
2、在设置图片比例后,如果不设置下面属性,有些手机可能会无法截取。
intent.putExtra("scale", true);