调用系统剪切方法,剪切任意比例图片

来源:互联网 发布:胡歌为啥一直单身 知乎 编辑:程序博客网 时间:2024/04/29 16:27
最新有个项目需要用到剪切图片上传的功能,百度了一片,发现输出图片的比例都是固定的,经过一些思考,找到了方法

如果就这样直接不压缩图像,直接输出的话手机会无响应,有时还会卡死,关键所在就是压缩图片在输出

 

/*** 裁剪图片方法实现* * @param uri*/public void startPhotoZoom(Uri uri) {// Intent intent = new Intent();Intent intent = new Intent("com.android.camera.action.CROP");try {Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);int iTemp = bitmap.getByteCount();Matrix matrix = new Matrix();// 根据图片大小来判断剪切比例if (iTemp > 10000000) {matrix.postScale(0.1f, 0.1f); // 长和宽放大缩小的比例} else {matrix.postScale(0.5f, 0.5f); // 长和宽放大缩小的比例}Bitmap resizeBmp = Bitmap.createBitmap(bitmap, 0, 0,bitmap.getWidth(), bitmap.getHeight(), matrix, true);Uri mUri = Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(), resizeBmp, null, null));intent.setDataAndType(mUri, "image/*");} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}