zoukankan      html  css  js  c++  java
  • 系统提供的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);

  • 相关阅读:
    DataItem,gridview,repeater数据控件数据绑定
    repeater没有数据显示暂无数据,无记录
    Javascript操作Cookie的脚本 — CookieHelper
    <script>标签应该放到</body>标签之前
    IEnumerable 和 IQueryable 区别
    【three.js练习程序】鼠标滚轮缩放
    【three.js练习程序】动画效果,100个方块随机运动
    【three.js练习程序】随机生成100个方块
    树莓派练习程序(寻迹模块)
    树莓派练习程序(声音检测)
  • 原文地址:https://www.cnblogs.com/damonWq/p/5342861.html
Copyright © 2011-2022 走看看