美文网首页
UIImagePickerController的简单应用

UIImagePickerController的简单应用

作者: Mustard_Buli | 来源:发表于2016-03-22 11:42 被阅读48次

    1.从系统相册中读取

         /*
         判断选择的读取类型是否支持
         UIImagePickerControllerSourceTypePhotoLibrary,普通相册
         UIImagePickerControllerSourceTypeCamera, 镜头(拍照、录视频)
         UIImagePickerControllerSourceTypeSavedPhotosAlbum(自己保存的图片)
         */
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
            self.imagePC = [[UIImagePickerController alloc] init];
            _imagePC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
            
            //相册操作由代理来监听 取消还是选择完成
            _imagePC.delegate = self;
            
            //展示相册
            [self presentViewController:_imagePC animated:YES completion:nil];
        }
    

    2.拍照录视频

    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
            self.imagePC = [[UIImagePickerController alloc] init];
            _imagePC.delegate = self;
            _imagePC.sourceType = UIImagePickerControllerSourceTypeCamera;
            //图片 public.image
            //视频 public.movie
            _imagePC.mediaTypes = @[@"public.movie"];
            [self presentViewController:_imagePC animated:YES completion:nil];
        }
    

    3.代理
    读取图片或者视频统一回调这个代理,但是系统相册一次只能选取一张。=-=

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
        [self dismissViewControllerAnimated:YES completion:nil];
        
        NSLog(@"%@", info);
        UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
        NSData *data = UIImagePNGRepresentation(image);
        NSUInteger byte = data.length/8;
        NSUInteger k = byte / 1024;
        NSUInteger m = k / 1024;
        NSLog(@"%ld", m);
    }
     
    //取消按钮被按了
    - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
        [self dismissViewControllerAnimated:YES completion:nil];
    }
    

    4.将图片保存到系统相册

    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
    

    相关文章

      网友评论

          本文标题:UIImagePickerController的简单应用

          本文链接:https://www.haomeiwen.com/subject/fnfllttx.html