IOS 照片操作(获取信息及修改照片)详解
ios 照片操作(获取信息及修改照片)
最近客户想要一个照片水印,并修改其他内容包括获取位置,和修改事件等,哦,可以的呢,我想起了uiview变uiimage 的方法可以的
<span style="font-size:14px;">- (uiimage*)convertviewtoimage:(uiview*)v { cgsize s = v.bounds.size; uigraphicsbeginimagecontextwithoptions(s, no, [uiscreen mainscreen].scale); cgcontextref context = uigraphicsgetcurrentcontext(); [v.layer renderincontext:context]; uiimage *image = uigraphicsgetimagefromcurrentimagecontext(); uigraphicsendimagecontext(); v.layer.contents = nil; return image; }</span><span style="font-size:12px;"> </span>
但是加的内容就是照片的时间还有gps地位,略隐私是不
哼,我想到了 uiimagepickercontroller里面的回调可以拍照片也可以从相册里取出来
<span style="font-size:14px;">- (void)imagepickercontroller:(uiimagepickercontroller *)picker didfinishpickingmediawithinfo:(nsdictionary *)info {</span>
<span style="font-size:14px;"> //info里面有大文章</span>
<span style="font-size:14px;">}</span>
ok先看拍照,拍照的info里面含有三个参数
<span style="font-size:14px;">uiimagepickercontrollermediametadata //详细数据,应有尽有 exif吧 uiimagepickercontrollermediatype //类型,jpg,png这类的 uiimagepickercontrolleroriginalimage //尺寸</span>
我们所需要的数据就在 info[uiimagepickercontrollermediametadata] 找就可以了。时间什么的贼详细
下一个是从相册拿出来的,相册拿出来的info也是三个,只不过把
uiimagepickercontrollermediametadata 换成了 uiimagepickercontrollerreferenceurl 看见url亲爹啊,地址。
ios8出来了新的照片库 <photos/photos.h>
以前那个ass的不用了,我也不会用 哼
<span style="font-size:14px;">phasset *asset = [phasset fetchassetswithalasseturls:@[asseturl] options:nil][0];</span>
这就完了?恩,信息都在asset里了。里面信息挺全的,直接拿就好了。
注意我们有时候需要地址里面恰好有地址出来
@property (nonatomic,strong, readonly,nullable) cllocation *location;
就这个,里面由经纬度,有了经纬度咱们要还原一下住址,开始我以为这个里面是地球坐标,没想到这里已经是符合我们*核心价值观的火星坐标了。
亏我还找办法来转换,这个直接就是放进去等待回调出地址就可以了
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!