关于Android 选择相册图片裁剪的坑

来源:互联网 发布:软件注册过期怎么办 编辑:程序博客网 时间:2024/06/06 12:29
  1. 选择相册
    这是一个通用的选择相册的方法.
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);//ACTION_OPEN_DOCUMENT        intent.addCategory(Intent.CATEGORY_OPENABLE);        intent.setType("image/*");        startActivityForResult(intent, SELECT_PIC);

在onActivityForResult获取data。至于怎么获取图片uri可以参考一下链接http://blog.csdn.net/tempersitu/article/details/20557383

2.图片裁剪

/**      * 调用系统裁剪图片的方法,可以选择参数为Uri对象 或者 Bitmap对象      *       * @param uri      */      public void cropPhoto(Uri uri) {          Intent intent = new Intent("com.android.camera.action.CROP");          //IMAGE_UNSPECIFIED = "image/*"        intent.setDataAndType(uri, IMAGE_UNSPECIFIED);          // 发送裁剪信号          intent.putExtra("crop", "true");          // aspectX aspectY 是宽高比例          intent.putExtra("aspectX", 1);          intent.putExtra("aspectY", 1);          // outputX outputY 是裁剪输出图片宽高          intent.putExtra("outputX", 400);          intent.putExtra("outputY", 400);        //注意这里,scale参数的意思是是否保留原有尺寸,        //如果为true,则截取的图片无论大小尺寸就是所设outputX,outputY。        //但是,但是,但是!重要的事情说三遍.        //如果截图的图片小雨所设的宽高,你截取的图片会居中,图片周围黑色填满,.经测只有部分国产手机会这样        intent.putExtra("scale", false);        intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());        // intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);//直接输出文件uri,如果想保留原有图片则新建一个图片文件传入uri         intent.putExtra("noFaceDetection", true); //关闭人脸检测          intent.putExtra("return-data", false); // 是否返回数据,如果用于屏幕显示缩略图,则传入true,一般直接取uri就可以了        startActivityForResult(intent, REQUEST_CODE_CUT);      }  
0 0
原创粉丝点击