iOS处理系统相册裁剪后图片
在系统应用里面的“照片”中,可以编辑图片选择裁剪或旋转角度。这个功能可能大家用得很少,所以在处理照片时没有遇到什么问题。今天发现经过系统工具裁剪或者旋转的图片在处理上需要注意一点:
将此图(PHAsset)转成UIImage:
- (PHImageRequestID)requestImageForAsset:(PHAsset *)asset targetSize:(CGSize)targetSize contentMode:(PHImageContentMode)contentMode options:(nullable PHImageRequestOptions *)options resultHandler:(void (^)(UIImage *__nullable result, NSDictionary *__nullable info))resultHandler;
在调用此方法时莫名其妙发现,该方法会回调两次。还没有确认第二次回调是否是编辑之前的原始图片。
并且得到UIImage之后无法再转为NSData对象。
NSData * __nullable UIImagePNGRepresentation(UIImage * __nonnull image);
NSData * __nullable UIImageJPEGRepresentation(UIImage * __nonnull image, CGFloat compressionQuality);
两个方法都将得到空值。并且报错:ImageIO: handle_error:349: zlib error
如果将此图转成NSData:
- (PHImageRequestID)requestImageDataForAsset:(PHAsset *)asset options:(nullable PHImageRequestOptions *)options resultHandler:(void(^)(NSData *__nullable imageData, NSString *__nullable dataUTI, UIImageOrientation orientation, NSDictionary *__nullable info))resultHandler;
将正常回调一次。并且imageData可以正常转换UIImage
iOS处理系统相册裁剪后图片相关推荐
- 从相册获取图片,并获取裁剪后图片(系统自带)
2019独角兽企业重金招聘Python工程师标准>>> /*此处info 有六个值* UIImagePickerControllerMediaType; // an NSString ...
- iOS——调用系统相册和相机
iOS--调用系统相册和相机 背景 我们在许多app里可以发现在换头像的时候一般有两个选择,一个是选择本地照片,一个选择是相机也就是直接拍一张照片当头像,另外还有就是可以去修改照片尺寸,所以我们就要知 ...
- iOS 获取系统相册
在iOS开发中经常会用到相册的图片,但是原生的UIImagePikerViewDelegate只能选取一张照片进行处理,这样管理起来比较麻烦,所以本次带来获取系统所有相册. 首先建一个继承NSObje ...
- android 图片自动裁剪图片大小,android调用原生图片裁剪后图片尺寸缩放的解决方法...
在安卓开发中,如果对拍照后的图片进行图片裁剪,如果是调用系统的裁剪,如下: /* * 裁剪图片 */ private void cropPhoto() { Intent intent = new In ...
- android 照片多选,Android: 关于系统相册多选图片的问题
最近在做毕设,想在调用系统相册的时候直接返回多张图片的地址.我本意是想用尽量简单的方法来解决这个问题,不需要剪裁啊什么的功能,只要可以多选就好.可是百度搜出来的方案基本上全部是自己写一个相册或者调用第 ...
- ios 模仿系统相册 预览
系统相册的视频和图片 左滑动 和右边滑动都是可以看下一张图片的 然后有视频还能够播放视频 考虑到图片很多 需要使用复用 所以采用 collectionview 来实现 让cell 和屏幕的大小相等 c ...
- cropper裁剪后图片大小变大等问题
最近根据需求做了一个图片裁剪的功能,于是在Git上找了cropper这个插件,具体api网上有很多资料,大家感兴趣的可以自行查找,这次主要记录下我遇到的问题. 图片裁剪完成后cropper有个方法可以 ...
- iOS 调用系统相册拍照时显示英文问题
在调用系统相册拍照的时候,在选择照片的时候,发现用的都是英文,效果如下: 我们想把那个Retake 和Use Photo 改为对应的汉字,先来一种最笨的方法,最后在来个高级的方法,最笨的办法当然是我们 ...
- iOS调用系统相册显示英文标题
调用系统相册.相机,发现是英文的标题"photos",但是手机语言已经设置显示中文,解决办法: 在info.plist里面添加Localized resources can be ...
最新文章
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十二:串口模块① — 发送
- android init(system/core/init/init.c)分析
- 正常shell bash脚本文件最后一行末尾是否应该添加换行符?(应该另起一行)
- linux权限介绍,Linux的权限介绍
- 【Linux】tail: inotify cannot be used, reverting to polling: Too many open files
- 【ASP.NET】HTTP中的 get 和 post 请求
- python技巧——使用list comprehension生成素数(prime number)
- 天勤数据结构高分笔记二叉排序树的实现
- 《机器人学导论》-《计算多体动力学》两本教材角速度传递的理解
- 干货:1分钟了解巨量引擎准入行业和资质规范
- 攻防世界--logmein
- Integer与Int
- 为什么VS2019的解决方案资源管理器中的文件名和文件夹名里的下划线不显示?
- 除了VR 还有什么能在2016年撬动物联网?
- Mat—基础图像容器(OpenCV教程)
- 推荐一款非常好用的效率APP
- 计算机编程辅导班,昆明少儿计算机编程辅导班
- 为什么换了固态硬盘电脑会快?详解硬盘与内存的关系
- 【凸优化】关于 KKT 条件 及其最优性
- 【云和恩墨大讲堂】赴春天第一场约会,深圳等你