博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
系统相册和拍照
阅读量:4074 次
发布时间:2019-05-25

本文共 1469 字,大约阅读时间需要 4 分钟。

1.系统相册和拍照
//有系统预置的多媒体参数
#import <MobileCoreServices/MobileCoreServices.h>
UIImagePickerController 拍照和获取系统相册
判断是否支持
BOOL ret = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    //设置资源类型
    imagePicker.sourceType = type;
    //设置代理
    imagePicker.delegate = self;
    //是否允许对相册 等做后续处理
    imagePicker.allowsEditing = YES;
    [self presentViewController:imagePicker animated:YES completion:^{
        
  
  }];
#pragma mark - UIImagePickerControllerDelegate
//点击picker上的cancel按钮时,触发的方法
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
    NSLog(@"cancel!!");
    //实现picker的dismiss
    [picker dismissViewControllerAnimated:YES completion:^{
   
}];
}
//点击choose按钮触发的方法
//info 带有选中资源的信息
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
    
    //判断选中的资源的类型
    NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
    //kUTTypeImage 系统预置的图片资源类型
    if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
        //证明取出来的是图片
        //通过字典获取选中的图片
        UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
        //从相机中取出来的图片占的空间:(1M-2M)左右,需要对图片进行压缩处理,然后在进行后续操作
        //将原图压缩成50*50的尺寸
        UIImage *smallImage = [[ImageTool shareTool] resizeImageToSize:CGSizeMake(50,50) sizeOfImage:image];
        self.view.backgroundColor = [UIColor colorWithPatternImage:smallImage];
    }
    [picker dismissViewControllerAnimated:YES completion:^{
    }];
}

转载地址:http://feyni.baihongyu.com/

你可能感兴趣的文章
linux内核内存管理(zone_dma zone_normal zone_highmem)
查看>>
将file文件内容转成字符串
查看>>
循环队列---数据结构和算法
查看>>
优先级队列-数据结构和算法
查看>>
链接点--数据结构和算法
查看>>
servlet中请求转发(forword)与重定向(sendredirect)的区别
查看>>
Spring4的IoC和DI的区别
查看>>
springcloud 的eureka服务注册demo
查看>>
eureka-client.properties文件配置
查看>>
MODULE_DEVICE_TABLE的理解
查看>>
platform_device与platform_driver
查看>>
platform_driver平台驱动注册和注销过程(下)
查看>>
.net强制退出主窗口的方法——Application.Exit()方法和Environment.Exit(0)方法
查看>>
c# 如何调用win8自带的屏幕键盘(非osk.exe)
查看>>
build/envsetup.sh 简介
查看>>
Android framework中修改或者添加资源无变化或编译不通过问题详解
查看>>
linux怎么切换到root里面?
查看>>
linux串口操作及设置详解
查看>>
安装alien,DEB与RPM互换
查看>>
编译Android4.0源码时常见错误及解决办法
查看>>