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 ...
最新文章
- 1.Spring Security 详细简绍与入门
- SynchronizedMap和ConcurrentHashMap的深入分析
- 如何为MySQL选择更合适的数据类型
- Customer Report这个Fiori应用必须和CRM耦合在一起么
- java中怎么判断相等_Java中判断相等 (== 与 .equals())
- 在传统企业做互联网架构是什么感受?
- python编程是啥-什么是少儿Python编程?这一篇就够啦!
- python中的超类_Python中的抽象超类
- Zabbix 3.4.2 install Configuration
- 单片机12864c语言,51单片机+带字库液晶12864+DS1302数字时钟C源程序
- 记测试工具iozone,iometer,bonnie++
- 由于找不到mfc100.dll,无法继续执行代码
- php使用cookie获取浏览记录,php使用cookie存库浏览记录详解
- R(13):第三章:3.2数据的分布
- 万豪国际集团公布新任首席执行官和总裁
- 如何检查计算机上安装的DirectX版本?
- Linux 中的 EOF 到底是什么?
- (LeetCode C++)跳跃游戏
- 计算机怎么消除用户密码,电脑开机设置了密码要怎么删除
- 搭建股票数据api接口过程中会遇到什么问题?