[IOS]iphone从相册或相机获取图片

来源:互联网 发布:ni 高速数据采集卡 编辑:程序博客网 时间:2024/05/17 06:03


Demo:http://download.csdn.net/detail/u012881779/8659199

拍照要使用真机测试,iPhone和iPad打开相册方式会有所区别:

for iphone:

[objc] view plaincopyprint?
  1. #import "IPhoneViewController.h"  
  2.   
  3. @interface IPhoneViewController () <UIImagePickerControllerDelegate,UINavigationControllerDelegate>  
  4. //从相册获取图片  
  5. @property (strongnonatomic)UIImagePickerController *ymImagePickerAlbum;  
  6. //从相机获取图片  
  7. @property (strongnonatomic)UIImagePickerController *ymImagePickerCamera;  
  8. //显示图片  
  9. @property (weak, nonatomic) IBOutlet UIImageView *accordingImageView;  
  10.   
  11. @end  
  12.   
  13. @implementation IPhoneViewController  
  14. @synthesize ymImagePickerAlbum  = _ymImagePickerAlbum;  
  15. @synthesize ymImagePickerCamera = _ymImagePickerCamera;  
  16.   
  17. - (void)viewDidLoad {  
  18.     [super viewDidLoad];  
  19.       
  20.     [_accordingImageView.layer setBorderWidth:2.0];  
  21.     [_accordingImageView.layer setBorderColor:[[UIColor colorWithRed:0/255.0 green:89/255.0 blue:185/255.0 alpha:1] CGColor]];  
  22. }  
  23.   
  24. //返回  
  25. - (IBAction)returnAction:(id)sender {  
  26.     [self.navigationController popViewControllerAnimated:YES];  
  27. }  
  28.   
  29. - (IBAction)cameraAction:(id)sender {  
  30.     [self pickImageFromCamera];  
  31. }  
  32.   
  33. - (IBAction)photoAction:(id)sender {  
  34.     [self pickImageFromAlbum];  
  35. }  
  36.   
  37. //清空显示图片  
  38. - (IBAction)cleanAction:(id)sender {  
  39.     [_accordingImageView setImage:nil];  
  40. }  
  41.   
  42. //从用户相册获取图片  
  43. - (void)pickImageFromAlbum{  
  44.     _ymImagePickerAlbum = nil;  
  45.     _ymImagePickerAlbum = [[UIImagePickerController alloc] init];  
  46.     _ymImagePickerAlbum.delegate =self;  
  47.     _ymImagePickerAlbum.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;//途径  
  48.     _ymImagePickerAlbum.modalTransitionStyle = UIModalTransitionStyleCoverVertical;  
  49.     _ymImagePickerAlbum.allowsEditing =YES;  
  50.     [self presentViewController:_ymImagePickerAlbum animated:YES completion:^{}];  
  51. }  
  52.   
  53. //从摄像头获取图片  
  54. - (void)pickImageFromCamera{  
  55.     _ymImagePickerCamera = nil;  
  56.     _ymImagePickerCamera = [[UIImagePickerController alloc] init];  
  57.     _ymImagePickerCamera.delegate = self;  
  58.     _ymImagePickerCamera.sourceType = UIImagePickerControllerSourceTypeCamera;  
  59.     _ymImagePickerCamera.modalTransitionStyle = UIModalTransitionStyleCoverVertical;  
  60.     _ymImagePickerCamera.allowsEditing = YES;  
  61.     [self presentViewController:_ymImagePickerCamera animated:YES completion:^{}];  
  62. }  
  63.   
  64. #pragma mark UIImagePickerControllerDelegate  
  65. //完成图片选择后执行  
  66. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{  
  67.       
  68.     UIImage *img = [info objectForKey:@"UIImagePickerControllerOriginalImage"];  
  69.     //若是从相机取图片  
  70.     if(picker.sourceType == UIImagePickerControllerSourceTypeCamera){  
  71.         [_accordingImageView setImage:img];  
  72.           
  73.     } else {//相册  
  74.         [_accordingImageView setImage:img];  
  75.     }  
  76.       
  77.     [self dismissViewControllerAnimated:YES completion:^{}];  
  78. }  
  79.   
  80. //不选择图片,点击取消后执行  
  81. - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{  
  82.     [self dismissViewControllerAnimated:YES completion:^{}];  
  83. }  
  84.   
  85. @end  

0 0
原创粉丝点击