最近项目用到了一个剪切上传任意比例的功能,通过百度的千篇一律的方法:            
  
/**
* 裁剪图片方法实现
*
* @param uri
*/
public void startPhotoZoom(Uri uri) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
// 设置裁剪
intent.putExtra("crop", "true");
// aspectX aspectY 是宽高的比例
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
// outputX outputY 是裁剪图片宽高
intent.putExtra("outputX", 150);
intent.putExtra("outputY", 150);
intent.putExtra("noFaceDetection", true); // 无人脸识别
intent.putExtra("return-data", true);
startActivityForResult(intent, 2);
}

 

这个方法虽然可以剪切固定大小的图片,但是只限定于图片比较小的情况,当图片比较大,比如照相机照的的图片,就会出现死机或者没反应,通过一天的努力,终于找到了解决方法,呵呵……其实方法很简单,先上代码:

 

/**
* 剪切后的临时图片 // file
*/
@SuppressLint("SdCardPath")
private static final String IMAGE_FILE_LOCATION = "file:///sdcard/image/tempArticleImage.jpg";
private Uri tempImageUri = Uri.parse(IMAGE_FILE_LOCATION);
/**
* 裁剪图片方法实现
*
* @param uri
*            图片地址
*/
public void startPhotoZoom(Uri uri) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
// 设置剪切后的输出目录
intent.putExtra(MediaStore.EXTRA_OUTPUT, tempImageUri);
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("noFaceDetection", true); // 无人脸识别
intent.putExtra("return-data", false);// 不绑定Bitmap数据
startActivityForResult(intent, 2);
}

上面两个方法比较下,都是设置系统剪切方法的参数,唯一最不同的在于前一个方法用的是返回Bitmap,后一个返回的是一个地址Uri,即intent.putExtra(MediaStore.EXTRA_OUTPUT,tempImageUri);这样切到的图片就保存在这个tempImageUri地址里面,那么就不会造成内存不够用,我们这个时候就可以操作

tempImageUri对应的图片了,一般保存在SD卡上的。

关于系统图片剪切工具的大图剪切方案相关推荐

  1. 大图剪切工具,大图分割工具

    1900大图剪切工具使用说明: 软件功能: 从网上下载的图片素材有时候是一张大图,里面是很多小图片,在使用时需剪切下来, 本软件适用于排列整齐的小图剪切. 运行环境:   .net framework ...

  2. 图片剪切工具Jcrop在JavaScript中使用

    最近接手了一个JavaScript,html,css开发的项目,需要做头像上传的功能,需要用户在页面截取图片.找了相关资料后决定用Jcrop.在使用过程中,发先网上的例子没法直接拿过来用,然后官方文档 ...

  3. IOS 图片绘制过程中的剪切之后没有原图清晰的问题解决方法

    在开发的过程中,我们一般或多或少遇到对图片进行"压"和"缩"处理. "压",一般我们就是使用UIImageJPEGRepresentatio ...

  4. 在线短视频缩略图剪切工具

    在线短视频缩略图剪切工具 在线短视频缩略图剪切工具 本工具支持将图像切割成多个小图像块,分别用于不同的短视频封面,多个短视频在列表页形成一个整体图像. 可以点击右侧按钮查看实际使用效果图. https ...

  5. 超强视频剪切工具Boilsoft Video Splitter7.02.2中文免费绿色版

    它除了普通的视频剪切功能外,特别的是支持RMVB格式,剪切工具亲测可用,可以完美剪切RMVB/RM格式视频,如果你想从一段完整的视频中剪切指定的视频段落,需要选择[分割选择],设置好[开始时间]和[结 ...

  6. 超强视频剪切工具Boilsoft Video Splitter7.02.2中文免费绿色版_我是亲民_新浪博客...

    它除了普通的视频剪切功能外,特别的是支持RMVB格式,剪切工具亲测可用,可以完美剪切RMVB/RM格式视频,如果你想从一段完整的视频中剪切指定的视频段落,需要选择[分割选择],设置好[开始时间]和[结 ...

  7. 计算机屏幕剪切是怎人们剪切呀,如何使用剪切工具在Windows 10中截取屏幕截图...

    屏幕截图是在给定时刻的计算机或智能手机屏幕输出的图像. 您可能遇到需要在给定时间捕获计算机显示屏上特定区域的屏幕截图的情况. 对于Windows计算机,剪切工具是一项很好的资产. 自Windows V ...

  8. LosslessCut for Mac(无损视频剪切工具)

    LosslessCut for Mac无损视频剪切工具软件推荐给大家!LosslessCut Mac版帮助您轻松地修剪和剪切录制中不需要的视频内容. LosslessCut for Mac安装教程 安 ...

  9. Android 图片处理工具类封装2

    http://www.2cto.com/kf/201312/263638.html Android 图片处理工具类封装 2013-12-10     0个评论   来源:Wiker Yong 的专栏  ...

最新文章

  1. module compiled against API version 0xb but this version of numpy is 0xa
  2. 1.6 为什么使用向上转型而不直接创建子类对象?
  3. C++基础教程示例详解:C++中的I/O重定向
  4. 2014.3.5-C语言学习小结
  5. 有赞下拉菜单html,有赞vant-ui Tabs、List、PullRefresh组件实践
  6. python和java哪个有用_python和java哪个好
  7. 二、SpringBoot配置文件讲解
  8. Keras中的时间分布层TimeDistributed Layer使用教程
  9. The Art of Prolog:Advanced Programming Techniques【译文】
  10. android 7.0楷体字体,Win7系统怎么设置字体为楷体gb2312
  11. kk5.0 服务器信息,关于KK问题整理汇总,这个可以收藏!
  12. 安装ie9提示未能完成安装_ie9无法安装的原因以及安装步骤【图文教程】
  13. Zotero——基于坚果云免费实现多端同步
  14. ABtest系统是什么?
  15. C#:TcpClient(客户端) and TcpServer(服务端)
  16. 进入社会一周年的些许感悟和经历
  17. IOS 一些小知识点整理
  18. 【Android】 android | as | android studio 安装与使用
  19. 高压功率放大器ATA4051VS高压功率放大器HSA4051
  20. JSON转化成Excel文件

热门文章

  1. 英特尔® 酷睿™ i9 处理器有助于减少开放世界加载时间
  2. 机器人工程毕业设计☞外文翻译
  3. 数据结构(JAVA)第二篇-----链表
  4. rxjs 放缓移动事件流
  5. 华为mate30什么时候能更新鸿蒙系统,华为mate30什么时候更新鸿蒙系统
  6. 新年好礼! 华为HG527-C免拆机完全破解
  7. notepad++ 使用
  8. 【在linux云服务器上传jar包并运行jar】以及Linux运行包的相关命令
  9. 印象笔记导出HTML再转markdown的方法
  10. Illustrator教你如果画人物插画