APP 中选取图片之后,有时候需要进行剪裁,比如头像。

以下是启动代码。

在我的项目中,传的是 filePath,所以我转了一下,但实际上从相册选择图片后,用 data.getData() 就可获得 uri。Uri uri = Uri.fromFile(new File(filePath));

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

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

intent.putExtra("crop", "true"); // 可剪裁

intent.putExtra("aspectX", 10); // 高比例

intent.putExtra("aspectY", 10); // 宽比例

intent.putExtra("outputX", size); // 宽尺寸

intent.putExtra("outputY", size); // 高尺寸

intent.putExtra("scale", true); // 保持比例

intent.putExtra("return-data", true); // 剪裁后,是否返回 Bitmap

intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); // 输出 JPEG

intent.putExtra("noFaceDetection", false); // 人脸识别,开启后,探测到人脸后会将剪裁框移到人脸上

activity.startActivityForResult(intent, 123456); // 启动

以下是剪裁后的处理:@Override

public void onActivityResult(int requestCode, int resultCode, Intent data) {

if (requestCode == 123456 && resultCode == RESULT_OK) {

// 用户头像剪裁后

Bitmap bitmap = data.getExtras().getParcelable("data");

// 演示保存到缓存中

// 目录

String cacheDirectoryPath = getCacheDir().getPath();

File dir = new File(cacheDirectoryPath);

if (!dir.exists()) {

dir.mkdirs(); // 目录不存在就创建

}

// 文件保存

String filePath = cacheDirectoryPath + File.separator + "cutted.jpg";

File file = new File(filePath);

try {

FileOutputStream fos = new FileOutputStream(file);

//通过io流的方式来压缩保存图片

bmp.compress(Bitmap.CompressFormat.JPEG, 60, fos);

fos.flush();

fos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

注意:由于安卓的乱象,启动剪裁时,某些手机中会报 ActivityNotFound 的异常。

android crop 大图,com.android.camera.action.CROP 实现图片剪裁相关推荐

  1. com.android.camera.action.CROP照片剪辑的问题

    调用系统Intent的com.android.camera.action.CROP照片剪辑时,如果 intent.putExtra("outputX", imageWidth); ...

  2. com.android.camera.action.crop uri,Android判断com.android.camera.action.CROP是否存在

    版权声明:本文为xing_star原创文章,转载请注明出处! 最近线上报错,有个用户连续crash了10次左右,查看了下堆栈信息,发现是提示com.android.camera.action.CROP ...

  3. 解决小米miui系统调用系统裁剪图片功能camera.action.CROP后崩溃或重新打开app的问题

    选择相册图片(或调用MediaStore.ACTION_IMAGE_CAPTURE拍照),然后裁剪.在其他系统上都测试正常,但是在小米上出现了问题.小米2s上,裁剪后点击确定直接卡死系统:小米3上,裁 ...

  4. android 剪切大图,Android大图裁剪解决办法

    某些功能需要拍照或者从相册选择照片后经过裁剪再上传的时候, cropp_w_picpath 可以调用手机自带的com.android.camera.action.CROP这个Intent进行裁剪 通过 ...

  5. Android开发学习之路--Camera之初体验

    顾名思义Camera就是拍照和录像的功能,像微信里面,我们想拍照传一下照片,就能够通过camera来拍照,然后存储照片.发送给好友.那么微信的app里面是不会直接通过camera api来实现的,由于 ...

  6. android调用系统裁剪功能,Android图片剪裁之调用系统剪裁

    参考: 一. 原理 通过Intent打开系统自带的剪裁Activity,通过Intent设置Extra参数,进行剪裁参数的设定.剪裁结果的缩略图会保存在返回的data中,而大图要通过Uri进行保存(其 ...

  7. Android 图像合成技术Xformodes图片剪裁

    2019独角兽企业重金招聘Python工程师标准>>> http://blog.csdn.net/t12x3456/article/details/10711779 先来看16种图片 ...

  8. android 自定义相册选择,Android通过手机拍照或从本地相册选取图片设置头像

    像微信.QQ.微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式: 1.让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像. 2.让用户启动手机的相机拍照,拍完照片后裁剪 ...

  9. android 7.0 裁剪,Android 7.0中拍照和图片裁剪适配的问题详解

    前言 Android 7.0系统发布后,拿到能升级的nexus 6P,就开始了7.0的适配.发现在Android 7.0以上,在相机拍照和图片裁剪上,可能会碰到以下一些错误: Process: com ...

最新文章

  1. 2019-05-26 Java学习日记之Set集合
  2. 机器学习——大数据与MapReduce
  3. jquery生成二维码
  4. 养蛙游戏刷爆朋友圈,养蛙成功“反杀”传统手游?
  5. NEFU705(数论+DP)
  6. Excel 的点点滴滴
  7. 【工具】Notepad++的一些常用配置
  8. 判断是否为质数的超级优化 C++语言(超详细)
  9. 一夜回到解放前,无数可依情况下如何做好风险控制
  10. LeetCode 热题 HOT 100 完整题解笔记知识点分类 C++代码实现
  11. 怎么配置堡垒机_轻量级堡垒机teleport的使用
  12. SQL Server里的闩锁介绍
  13. python开平方根_python里开平方
  14. python 获取本机IP地址
  15. git 创建远程新分支
  16. 酷Q插件_SDK———入门与使用
  17. php 生成条形码(支持任意php框架)
  18. 区块链上的虚拟开放世界游戏是怎样的?| TVP思享
  19. 面试华为必备:华为18级技术官呕心沥血三年整理的 趣谈网络协议
  20. 软件测试之---车载简历编写

热门文章

  1. 近5年133个Java面试问题列表
  2. error: Refusing toundefine while domain managed save image exists
  3. Photoshop切图学习
  4. nginx的upstream模块安装
  5. linux命令行快捷键
  6. 无线路由与无线AP有什么不同
  7. c++运行不出结果_fastjson 不出网利用总结
  8. leetcode 75. 颜色分类(双指针)
  9. react中使用构建缓存_通过在React中构建Tic Tac Toe来学习ReasonML
  10. 数据分析和大数据哪个更吃香_处理数据,大数据甚至更大数据的17种策略