android定义裁剪比例,android使用原生剪裁的配置

/***

*@paramuri==null 表示为相机拍摄

*@paramaspectX裁剪框X比例,默认1

*@paramaspectY裁剪框X比例,默认1

*@paramoutputX裁剪后输出图片的x

*@paramoutputY裁剪后输出图片的y

*/

public voidcrop(Activity activity,Uri uri,intaspectX,floataspectY, intoutputX,intoutputY) {

Uri mUri = uri ==null? Uri.fromFile(getTempFile()) : uri;

// 裁剪图片意图

Intent intent =newIntent("com.android.camera.action.CROP");

intent.setDataAndType(mUri,"image/*");

intent.putExtra("crop","true");

// 裁剪框的比例,1:1

intent.putExtra("aspectX",aspectX);

intent.putExtra("aspectY",aspectY);

// 裁剪后输出图片的尺寸大小

intent.putExtra("outputX",outputX);

intent.putExtra("outputY",outputY);

//设置剪切的图片保存位置

intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.parse(cropUrl));

intent.putExtra("outputFormat","JPEG");// 图片格式

intent.putExtra("noFaceDetection", true);// 取消人脸识别

intent.putExtra("return-data", false);

// 开启一个带有返回值的Activity,请求码为PHOTO_REQUEST_CUT

activity.startActivityForResult(intent,PHOTO_REQUEST_CUT);

tempFile=newFile(Environment.getExternalStorageDirectory(),cropUrl);

}

调用该方法进行图片剪裁,把图片保存在本地,在activty的onActivityResult中通过

bitmap=BitmapFactory.decodeStream(getApplicationContext().getContentResolver().openInputStream(Uri.parse(PhotoDialog.cropUrl)));

获取到bitmap对象,使用完后调用

tempFile=newFile(Environment.getExternalStorageDirectory(),cropUrl);

tempFile.delete();

删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值