80,351
社区成员
发帖
与我相关
我的任务
分享
Intent cut = new Intent("com.android.camera.action.CROP");
cut.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
cut.setDataAndType(imageUri, "image/*");
// 下面这个crop=true是设置在开启的Intent中设置显示的VIEW可裁剪
cut.putExtra("crop", "true");
// aspectX aspectY 是宽高的比例
cut.putExtra("aspectX", 1);
cut.putExtra("aspectY", 1);
// outputX outputY 是裁剪图片尺寸
cut.putExtra("outputX", 480);
cut.putExtra("outputY", 480);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
File file = new File(mFilePath, mFileCropName);
if (!file.exists()) {
try {
new File(mFilePath).mkdirs();
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
cut.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));//保存到uri指定的位置
}
try {
startActivityForResult(cut, USE_CROP);
} catch (Exception e) {
e.printStackTrace();
ToastCompat.show(this, "未找到剪切程序,自动剪切", Toast.LENGTH_SHORT);
cropPicByGlide();
}
完整代码