拍照剪切步骤:

  1. 新建临时文件
  2. 启动相机
  3. 拍照后启动剪切
  4. 返回剪切结果

新建临时文件

private Uri imageUri;//拍照后剪切用到Uri
private String picFileFullName;//剪切后图片路径
File outputImage = new File(Environment.getExternalStorageDirectory(), "output_image.jpg");
picFileFullName = outputImage.getAbsolutePath();
try {
if (outputImage.exists()) {
outputImage.delete();
}
outputImage.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
imageUri = Uri.fromFile(outputImage);

启动相机

这个过程有些手机会销毁activity,拍照后回调直接崩溃。自行解决。

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, TAKE_PHOTO);

拍照后启动剪切

    private void cropImage(Uri uri) {Intent intent = new Intent("com.android.camera.action.CROP");intent.setDataAndType(uri, "image/*");intent.putExtra("crop", true);intent.putExtra("scale", true);intent.putExtra("aspectX", 1);intent.putExtra("aspectY", 1);// outputX outputY 是裁剪图片宽高intent.putExtra("outputX", 650);intent.putExtra("outputY", 650);intent.putExtra("return-data", false);intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "output_image.jpg")));//剪切后直接输出到这个文件,就是替换了刚开始新建的文件。startActivityForResult(intent, PHOTO_CUT_RESULT);}

返回剪切结果

picFileFullName剪切后的图片路径

选择相册图片剪切

  1. 新建临时文件
  2. 启动相册
  3. 选择图片后启动剪切
  4. 返回剪切结果

新建临时文件

步骤和拍照一样

启动相册

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
startActivityForResult(intent, IMAGE_PICK_CODE);

Intent说明:
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
这个缺点是如果有图片是同步到google相册的话,图库里面能看到一个auto backup的目录,点进去选图片的话是无法获取到图片的路径的。Google被墙了的。不考虑这么多。
ACTION_GET_CONTENT
在4.4版本中返回图片的URI:content://com.Android.providers.media.documents/document/image:3951类似这样。因此需要判断系统版本进行URI转换。

选择图片后启动剪切

跟拍照剪切一样,剪切后输出的文件直接覆盖开始新建文件

返回剪切结果

picFileFullName剪切后的图片路径

android 拍照和选择相册图片剪切相关推荐

  1. android 图片自动裁剪图片,Android实现拍照、选择相册图片并裁剪功能

    通过拍照或相册中获取图片,并进行裁剪操作,然后把图片显示到ImageView上. 当然也可以上传到服务器(项目中绝大部分情况是上传到服务器),参考网上资料及结合项目实际情况, 测试了多款手机暂时没有发 ...

  2. Android拍照与选择相册照片后裁剪图片,相册多出副本问题

    最近做的一个需求,简单的实现上传头像,包含拍照以及选择照片. 但客户要求的是,需要裁剪. 正常实现需求后,回报问题说,每次选择相册中的照片并裁剪后,相册都有出现多一张裁剪后的照片. 看了代码,由于An ...

  3. Android拍照和获取相册图片

    之前遇到各种拍照啊,获取相册图片之类,都是直接去度娘,要么之前的代码复制下,没好好总结过. 再也不要问度娘了,再也不用一堆博客里找啊找了... ---------------------------- ...

  4. android 小米手机选择相册图片截取照片不进onActivityResult报“保存时发生错误,保存失败”

    小米选择相册时如果不使用系统截屏,直接压缩不会报"保存时发生错误,保存失败"的错误,如果截屏就会报如上错误. 需要把URI地址转为图片地址,再包成file文件转为URI Uri u ...

  5. 小米7.0 android 图片裁剪失败,Android 7.0适配 -- FileProvider 拍照、选择相册、裁切图片, 小米机型适配...

    需求: 最近把APP的TargetSdk从21提高至25后,测试时, 在Android7.0以上的系统上,爆出了一些异常. 在个别小米等机型也存在一些异常. 问题分析: FileUriExposedE ...

  6. Android拍照及从相册选择图片传详解(终极版)

    Android 拍照及从相册选择图片传详解 先上图 新知识点速览 URI(统一资源标识符)是标识逻辑或物理资源的字符序列,与URL类似,也是一串字符.通过使用位置,名称或两者来标识Internet上的 ...

  7. Android6.0动态设置读写权限(Android拍照或从相册中选图片预览出现问题)

    做了一个Android拍照或从相册中选图片传服务器的demo,出现了问题虽然 图片路径 也可以打印出来,然后去看权限那里也申请了读写权限 <uses-permission android:nam ...

  8. Android 拍照或从相册取图片并裁剪

    Android 拍照或从相册取图片并裁剪 转载自:http://www.cnblogs.com/w-y-f/p/4028379.html 在Android中,Intent触发Camera程序,拍好照片 ...

  9. 选择相册图片上传后,客户端显示图片却是被旋转过角度

    我想某位大哥也遇到过这个问题,就是手机相册选择图片时,显示是正的(未被旋转角度的),但是上传该图片后,客户端却显示被旋转了xx度的.那这肯定是客户不想出现的问题,同样也是我们开发者不想出现bug.我想 ...

  10. Android 拍照、从相册选择图片

    在做Android图片上传功能的时候,获取图片的途径一般都有两种:拍照.从相册选择. 一.拍照 调用相机拍照有两种方法: 直接返回图片. 在调用相机的时候,传入uri,拍照后通过该uri来获取图片. ...

最新文章

  1. Silverlight 5 Beta 新特性预览
  2. Hibernate 拦截器 Hibernate 监听器
  3. tensorflows十五 再探Momentum和Nesterov's accelerated gradient descent 利用自动控制PID概念引入误差微分控制超参数改进NAGD,速度快波动小
  4. shell脚本实现一个彩色进度条
  5. [数据结构]-循环队列
  6. 【转载】spring.net 学习系列目录
  7. java 获得平台编码_关于Java平台的编码
  8. 【操作系统/OS笔记09】线程、线程的实现、上下文切换、进程控制
  9. python获取月份字符串_python 时间字符串与日期转化
  10. Pycharm取消双击shift出现搜索框
  11. java 中 byte[]、File、InputStream 互相转换
  12. HTML5+CSS把footer固定在底部
  13. css中正确设置微软雅黑字体
  14. sql语句修改mysql数据库密码_修改mysql数据库密码的3中方法
  15. MAC 安装 kafka
  16. 在电脑上怎样将长方形图片裁剪成圆形的图片?
  17. SAP采购订单价格与信息记录价格不匹配
  18. 如何将livp文件转换为jpeg图片格式
  19. spotify电脑下载歌曲_26步,把Spotify音乐集成进SAP
  20. G002-186-18

热门文章

  1. js word 预览_Word页眉横线怎么去掉与插入、修改、删除页眉页脚
  2. python 折线图 百分比_Python数据可视化 - 使用Matplotlib库绘制点图、折线图、条状图与饼图...
  3. HTML基本结构标签
  4. oracle 字段带数字,解决Oracle字符串中包含数字、特殊符号的排序问题
  5. 网页唤起QQ在线聊天
  6. android微信支付指纹支付密码错误,安卓微信支付怎么设置指纹锁
  7. vscode终端清屏
  8. 源代码加密几种简单方法
  9. jsonp跨域获取数据
  10. 淘宝客返利机器人源码编写教程.