IOS 照片操作(获取信息及修改照片)详解

时间:2022-11-21 20:34:38

IOS 照片操作(获取信息及修改照片)

最近客户想要一个照片水印,并修改其他内容包括获取位置,和修改事件等,哦,可以的呢,我想起了uiview变UIimage 的方法可以的

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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里面含有三个参数

?
1
2
3
<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;

就这个,里面由经纬度,有了经纬度咱们要还原一下住址,开始我以为这个里面是地球坐标,没想到这里已经是符合我们*核心价值观的火星坐标了。

亏我还找办法来转换,这个直接就是放进去等待回调出地址就可以了

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/u010095372/article/details/51142362