当前位置: 移动技术网 > IT编程>移动开发>IOS > IOS UIImagePickerController从拍照、图库、相册获取图片

IOS UIImagePickerController从拍照、图库、相册获取图片

2019年07月24日  | 移动技术网IT编程  | 我要评论

保坂尚辉,瑞士女排精英赛,盖章要求

ios uiimagepickercontroller从拍照、图库、相册获取图片

ios 获取图片有三种方法:

1. 直接调用摄像头拍照

2. 从相册中选择

3. 从图库中选择

uiimagepickercontroller 是系统提供的用来获取图片和视频的接口;

用uiimagepickercontroller 类来获取图片视频,大体分为以下几个步骤:

1. 初始化uiimagepickercontroller 类;

2. 设置uiimagepickercontroller 实例的数据来源类型(下面解释);

3. 设置设置代理;

4. 如果需要做图片修改的话设置allowsediting =yes。

数据来源类型一共有三种:

enum {

  uiimagepickercontrollersourcetypephotolibrary ,//来自图库

  uiimagepickercontrollersourcetypecamera ,//来自相机

  uiimagepickercontrollersourcetypesavedphotosalbum //来自相册

};

在用这些来源的时候最好检测以下设备是否支持;

 if([uiimagepickercontroller issourcetypeavailable:uiimagepickercontrollersourcetypecamera])

  {

    nslog(@"支持相机");

  }

  if([uiimagepickercontroller issourcetypeavailable:uiimagepickercontrollersourcetypephotolibrary])

  {

    nslog(@"支持图库");

  }

  if ([uiimagepickercontroller issourcetypeavailable:uiimagepickercontrollersourcetypesavedphotosalbum])

  {

    nslog(@"支持相片库");

  }

调用摄像头来获取资源

- (void)viewdidload {

  [super viewdidload];

  picker = [[uiimagepickercontroller alloc]init];

  picker.view.backgroundcolor = [uicolor orangecolor];

  uiimagepickercontrollersourcetype sourchetype = uiimagepickercontrollersourcetypecamera;

  picker.sourcetype = sourchetype;

  picker.delegate = self;

  picker.allowsediting = yes;

}

上面只是实例了uiimagepickercontroller及其属性 在需要获取图片的时候需要弹出窗口调用

[self presentviewcontroller:picker animated:yes completion:nil];

我们还需要代理来获取我们选中的图片

uiimagepickercontrollerdelegate

代理中一共三个方法 其中一个3.0 已经废弃了,只剩下两个我们需要用的

- (void)imagepickercontroller:(uiimagepickercontroller *)picker didfinishpickingmediawithinfo:(nsdictionary

 *)info;

当用户选取完成后调用;

- (void)imagepickercontrollerdidcancel:(uiimagepickercontroller *)picker;

当用户取消选取时调用;

- (void)imagepickercontroller:(uiimagepickercontroller *)picker

 didfinishpickingmediawithinfo:(nsdictionary *)info;

选取的信息都在info中,info 是一个字典。

字典中的键:

nsstring *const uiimagepickercontrollermediatype ;指定用户选择的媒体类型(文章最后进行扩展)

nsstring *const uiimagepickercontrolleroriginalimage ;原始图片

nsstring *const uiimagepickercontrollereditedimage ;修改后的图片

nsstring *const uiimagepickercontrollercroprect ;裁剪尺寸

nsstring *const uiimagepickercontrollermediaurl ;媒体的url

nsstring *const uiimagepickercontrollerreferenceurl ;原件的url

nsstring *const uiimagepickercontrollermediametadata;当来数据来源是照相机的时候这个值才有效

uiimagepickercontrollermediatype 包含着kuttypeimage 和kuttypemovie

kuttypeimage 包含:

const cfstringref kuttypeimage ;抽象的图片类型

const cfstringref kuttypejpeg ;

const cfstringref kuttypejpeg2000 ;

const cfstringref kuttypetiff ;

const cfstringref kuttypepict ;

const cfstringref kuttypegif ;

const cfstringref kuttypepng ;

const cfstringref kuttypequicktimeimage ;

const cfstringref kuttypeappleicns 

const cfstringref kuttypebmp;

const cfstringref kuttypeico;

kuttypemovie 包含:

const cfstringref kuttypeaudiovisualcontent ;抽象的声音视频

const cfstringref kuttypemovie ;抽象的媒体格式(声音和视频)

const cfstringref kuttypevideo ;只有视频没有声音

const cfstringref kuttypeaudio ;只有声音没有视频

const cfstringref kuttypequicktimemovie ;

const cfstringref kuttypempeg ;

const cfstringref kuttypempeg4 ;

const cfstringref kuttypemp3 ;

const cfstringref kuttypempeg4audio ;

const cfstringref kuttypeappleprotectedmpeg4audio;

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网