照片库和照相机
来源:互联网 发布:根域名 cname www 编辑:程序博客网 时间:2024/05/01 14:30
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- //获取Documents文件夹目录
- NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- NSString *documentPath = [path objectAtIndex:0];
- //指定新建文件夹路径
- NSString *imageDocPath = [documentPath stringByAppendingPathComponent:@"ImageFile"];
- //创建ImageFile文件夹
- [[NSFileManager defaultManager] createDirectoryAtPath:imageDocPath withIntermediateDirectories:YES attributes:nil error:nil];
- //保存图片的路径
- self.imagePath = [imageDocPath stringByAppendingPathComponent:@"image.png"];
- }
- -(void)viewWillAppear:(BOOL)animated{
- [super viewWillAppear:YES];
- //根据图片路径载入图片
- UIImage *image=[UIImage imageWithContentsOfFile:self.imagePath];
- if (image == nil) {
- //显示默认
- [changeImg setBackgroundImage:[UIImage imageNamed:@"user_photo@2x.png"] forState:UIControlStateNormal];
- }else {
- //显示保存过的
- [changeImg setBackgroundImage:image forState:UIControlStateNormal];
- }
- }
- - (void)dealloc {
- [imagePath release];
- [changeImg release];
- [super dealloc];
- }
- - (IBAction)changeImage:(id)sender {
- UIActionSheet *myActionSheet = [[UIActionSheet alloc]
- initWithTitle:nil
- delegate:self
- cancelButtonTitle:@"取消"
- destructiveButtonTitle:nil
- otherButtonTitles: @"从相册选择", @"拍照",nil];
- [myActionSheet showInView:self.view];
- [myActionSheet release];
- }
- -(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
- switch (buttonIndex) {
- case 0:
- //从相册选择
- [self LocalPhoto];
- break;
- case 1:
- //拍照
- [self takePhoto];
- break;
- default:
- break;
- }
- }
- //从相册选择
- -(void)LocalPhoto{
- UIImagePickerController *picker = [[UIImagePickerController alloc] init];
- //资源类型为图片库
- picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
- picker.delegate = self;
- //设置选择后的图片可被编辑
- picker.allowsEditing = YES;
- [self presentModalViewController:picker animated:YES];
- [picker release];
- }
- //拍照
- -(void)takePhoto{
- //资源类型为照相机
- UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;
- //判断是否有相机
- if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]){
- UIImagePickerController *picker = [[UIImagePickerController alloc] init];
- picker.delegate = self;
- //设置拍照后的图片可被编辑
- picker.allowsEditing = YES;
- //资源类型为照相机
- picker.sourceType = sourceType;
- [self presentModalViewController:picker animated:YES];
- [picker release];
- }else {
- NSLog(@"该设备无摄像头");
- }
- }
- #pragma Delegate method UIImagePickerControllerDelegate
- //图像选取器的委托方法,选完图片后回调该方法
- -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
- //当图片不为空时显示图片并保存图片
- if (image != nil) {
- //图片显示在界面上
- [changeImg setBackgroundImage:image forState:UIControlStateNormal];
- //以下是保存文件到沙盒路径下
- //把图片转成NSData类型的数据来保存文件
- NSData *data;
- //判断图片是不是png格式的文件
- if (UIImagePNGRepresentation(image)) {
- //返回为png图像。
- data = UIImagePNGRepresentation(image);
- }else {
- //返回为JPEG图像。
- data = UIImageJPEGRepresentation(image, 1.0);
- }
- //保存
- [[NSFileManager defaultManager] createFileAtPath:self.imagePath contents:data attributes:nil];
- }
- //关闭相册界面
- [picker dismissModalViewControllerAnimated:YES];
- }
- 照片库和照相机
- iphone照相机和照片库
- IPhone简单的照相机和照片库
- 访问照相机和照片
- android照相机上传照片和相册
- iPhone开发基础教程笔记(十六)--第十六章 iPhone照相机和照片库
- [精通iOS开发(第5版)]第20章 照相机和照片库 笔记
- Android 实现调用照相机和选取本地照片功能
- 使用UIImagePickerController从IPhone照片库或照相机获取图像
- 使用UIImagePickerController从iPhone照片库或照相机获取图像
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- [C++]以不同用户身份运行程序
- Selenium超简单入门
- QT父子与QT对象delete
- 重学Android 之路之一 APK签名
- 程序员薪水最高的25家公司 Juniper超Google位列第一
- 照片库和照相机
- 微软面试试题
- OCP考试之后的感受
- ACM Steps_Chapter Two_Section2
- 【转载】谱聚类(spectral clustering)
- SSH框架常见问题
- Android应用多语言适配工作
- DOG算子
- hdu 2142 Can you find it?