iOS开发中訪问相冊摄像像头
iOS开发中訪问相冊摄像像头
源代码下载地址http://download.csdn.net/download/jingjingxujiayou/7270479
在AppDelegate.m文件里
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
self.window.rootViewController = [[dateViewController alloc]init];
return YES;
}
dateViewController.h
#import <UIKit/UIKit.h> @interface dateViewController : UIViewController<UIImagePickerControllerDelegate,UINavigationBarDelegate>
@property(nonatomic,retain)UIImageView* imageview1;
@property(nonatomic,retain)UIImagePickerController* imagepicker;
@end
dateViewController.m
//
// dateViewController.m
// datepick
//
// Created by 5_2 on 14-4-29.
// Copyright (c) 2014年 Frountion. All rights reserved.
// #import "dateViewController.h" @interface dateViewController () @end @implementation dateViewController
@synthesize imageview1,imagepicker; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
} - (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view. //----------1 从网络载入图片
imageview1 = [[UIImageView alloc]initWithFrame:CGRectMake(10, 50, 300, 200)];
imageview1.backgroundColor = [UIColor yellowColor];
[self.view addSubview:imageview1];
NSURL* url = [[NSURL alloc]initWithString:@"https://www.google.com.hk/images/srpr/logo11w.png"];
NSData* data = [NSData dataWithContentsOfURL:url];
//把data转成image
UIImage* image = [UIImage imageWithData:data];
//显示图片
imageview1.image = image; //把图片转化为数据
NSData* imagedata = UIImageJPEGRepresentation(image, 1);
NSLog(@"%d",imagedata.length); //保存到相冊里面,这个能够到模拟器里的相冊产查看的。
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL); //---------2 相冊的訪问 UIButton *buttonphoto = [UIButton buttonWithType:UIButtonTypeRoundedRect];
buttonphoto.tag = 100;
buttonphoto.frame = CGRectMake(50, 250, 80, 50);
[buttonphoto setTitle:@"訪问相冊" forState:UIControlStateNormal];
[buttonphoto addTarget:self action:@selector(look:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:buttonphoto]; //---------3 摄像头的訪问
UIButton *buttoncamera = [UIButton buttonWithType:UIButtonTypeRoundedRect];
buttoncamera.tag = 200;
buttoncamera.frame = CGRectMake(50, 310, 80, 50);
[buttoncamera setTitle:@"訪问摄像头" forState:UIControlStateNormal];
[buttoncamera addTarget:self action:@selector(look:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:buttoncamera]; } /*-(void)look:(UIButton*)button
{
UIImagePickerController* imagepicker = [[UIImagePickerController alloc]init];
imagepicker.delegate = self;
//訪问相冊类型的类型
//UIImagePickerControllerSourceTypePhotoLibrary,
//UIImagePickerControllerSourceTypeCamera, ===== 訪问摄像头
//UIImagePickerControllerSourceTypeSavedPhotosAlbum ======= 仅仅能訪问第一列的图片
imagepicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
//以摩擦动画的方式显示
[self presentViewController:imagepicker animated:YES completion:^{ }]; if (button.tag == 200) {
//UIImagePickerControllerCameraDeviceFront === 前摄像头
//UIImagePickerControllerCameraDeviceRear === 后摄像头
BOOL isCamrma = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];
if (!isCamrma) {
NSLog(@"没有摄像头");
return;
}
//摄像头
imagepicker.sourceType = UIImagePickerControllerSourceTypeCamera;
//同意编辑
imagepicker.allowsEditing =YES;
}
}*/ -(void)look:(UIButton*)button
{
if (button.tag == 100) {
imagepicker = [[UIImagePickerController alloc]init];
imagepicker.delegate = self;
//訪问相冊类型的类型
//UIImagePickerControllerSourceTypePhotoLibrary,
//UIImagePickerControllerSourceTypeCamera, ===== 訪问摄像头
//UIImagePickerControllerSourceTypeSavedPhotosAlbum ======= 仅仅能訪问第一列的图片
imagepicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
//以摩擦动画的方式显示
[self presentViewController:imagepicker animated:YES completion:^{ }]; }else { //注意摄像头的訪问须要在真机上进行 //UIImagePickerControllerCameraDeviceFront === 前摄像头
//UIImagePickerControllerCameraDeviceRear === 后摄像头
BOOL isCamrma = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];
if (!isCamrma) {
NSLog(@"没有摄像头");
return;
}
//摄像头
imagepicker.sourceType = UIImagePickerControllerSourceTypeCamera;
//同意编辑
imagepicker.allowsEditing =YES;
}
} //---------2 相冊的訪问
#pragma mark - UIImagePickerControllerDelegate //相冊选中之后调用
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
//UIImagePickerControllerOriginalImage === 取原始图片
//UIImagePickerControllerEditedImage === 去编辑以后的图片
UIImage* image = [info objectForKey:UIImagePickerControllerEditedImage];
imageview1.image = image;
NSLog(@"info = %@",info);
[picker dismissViewControllerAnimated:YES completion:nil];
}
//取消按钮的点击事件
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[picker dismissViewControllerAnimated:YES completion:NULL];
}
//将图片保存
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
{
NSLog(@"error = %@",error);
} - (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end
iOS开发中訪问相冊摄像像头的更多相关文章
- iOS开发中的MVC设计模式
我们今天谈谈cocoa程序设计中的 模型-视图-控制器(MVC)范型.我们将从两大方面来讨论MVC: 什么是MVC? M.V.C之间的交流方式是什么样子的? 理解了MVC的概念,对cocoa程序开发是 ...
- IOS开发中UI编写方式——code vs. xib vs.StoryBoard
最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关 ...
- iOS开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】
在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运 ...
- iOS开发中你是否遇到这些经验问题
前言 小伙伴们在开发中难免会遇到问题, 你是如何解决问题的?不妨也分享给大家!如果此文章其中的任何一条问题对大家有帮助,那么它的存在是有意义的! 反正不管怎样遇到问题就要去解决问题, 在解决问题的同时 ...
- iOS 开发中常见的设计模式
最近有小伙伴问到在iOS开发中的几种设计模式,这里摘录一下别人的总结(因为已经感觉总结得差不多了,适用的可以阅读一下) 首先是开发中的23中设计模式分为三大类:1.创建型 2.结构型 3.行为型 (i ...
- iOS开发中遇到的一些问题及解决方案【转载】
iOS开发中遇到的一些问题及解决方案[转载] 2015-12-29 [385][scrollView不接受点击事件,是因为事件传递失败] // // MyScrollView.m // Creat ...
- iOS开发中各种关键字的区别
1.一些概念 1.浅Copy:指针的复制,只是多了一个指向这块内存的指针,共用一块内存. 深Copy:内存的复制,两块内存是完全不同的, 也就是两个对象指针分别指向不同的内存,互不干涉. 2.atom ...
- 总结iOS开发中的断点续传那些事儿
前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...
- iOS开发中静态库之".framework静态库"的制作及使用篇
iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...
随机推荐
- CREATE GROUP - 定义一个新的用户组
SYNOPSIS CREATE GROUP name [ [ WITH ] option [ ... ] ] where option can be: SYSID gid | USER usernam ...
- Webpack 入门(一):安装 / 打包 / 命令行
一:安装webpack和基本环境搭建 新建一个工作的文件夹(我取的名字叫Webpack) 打开命令行,cd进入该文件夹 //初始化一下npm > E:\work\Webpack>npm i ...
- 浅谈JS之text/javascript和application/javascript
问题描述: JS在IE8以下浏览器运行异常 代码: <script>标签是这样子写的: <script type="application/javascript" ...
- 在mac下做web开发,shell常用的快捷键
Ctrl + A 光标移动到行首 Ctrl + E 光标移动到行末 Ctrl + K 清屏(也可是用clear命令) Command +shift+{} 终端的tab左右切换
- sql server使用的注意点及优化点 自备
1.字符类型建议采用varchar/nvarchar数据类型,并且禁止使用varchar(max).nvarchar(max) 2.金额货币建议采用money数据类型 (*) 3.自增长标识建议采用 ...
- Win2008 Server MySql安装包详细安装教程
首先去官网下载 下载MySql 下载地址:http://downloads.mysql.com/archives/community/ 我这里选择MSI的32位安装包安装,服务器系统32位的. 安装M ...
- UvaLive 4863 Balloons(贪心)
题意: 给定n个队伍, 然后A房间有a个气球, B房间有b个气球, 然后给出每个队伍所需要的气球数量和到A B房间的距离, 求把气球全部送到每个队伍的最短距离. 分析: 在气球充足的情况下, 那么我们 ...
- LeetCode 167. Two Sum II – Input array is sorted
Given an array of integers that is already sorted in ascending order, find two numbers such that the ...
- 如何用nfs命令烧写内核和文件系统(网络下载文件到nandflash)(未完)
使用tftp下载烧写 a.设uboot里的ip地址 set ipaddr 192.168.1.17(uboot的ip设置成同网段) set serverip 192.168.1.5(电脑本机作为服务i ...
- spark streaming基于Kafka的开发
spark streaming使用Kafka数据源进行数据处理,本文侧重讲述实践使用. 一.基于receiver的方式 在使用receiver的时候,如果receiver和partition分配不当, ...