美文网首页
android使用原生剪裁的配置

android使用原生剪裁的配置

作者: 尚妆杨逍 | 来源:发表于2016-08-04 15:50 被阅读251次

    /***

    *@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();

    删除

    相关文章

      网友评论

          本文标题:android使用原生剪裁的配置

          本文链接:https://www.haomeiwen.com/subject/gvgcsttx.html