• 系统提供的UIImagePickerController


    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);

  • 相关阅读:
    MYSQL最大连接数设置
    判断闰年
    Hanoi塔问题(递归)
    字符串替换(find函数和replace函数)
    全排列问题(next_permutation函数)
    南阳理工 oj 题目739 笨蛋难题四
    (c++实现)南阳理工 题目325 zb的生日
    (c++实现)南洋理工 oj 267 郁闷的C小加(二)
    (c++实现)南阳理工acm 题目117 求逆序数
    (c++实现) 南洋理工acm 题目2 括号配对问题
  • 原文地址:https://www.cnblogs.com/damonWq/p/5342861.html
Copyright © 2020-2023  润新知