- (void)viewDidLoad {
[super viewDidLoad];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(0, 0, 100, 100);
btn.center = self.view.center;
[btn setTitle:@"拍照" forState:UIControlStateNormal];
btn.backgroundColor = [UIColor orangeColor];
[btn addTarget:self action:@selector(clickAction) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
//會(huì)話
_sesion = [[AVCaptureSession alloc] init];
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
[_sesion setSessionPreset:AVCaptureSessionPresetPhoto];
}
AVCaptureDevice *device = [self cameraWithPosition: AVCaptureDevicePositionBack];
//輸入源
_input = [[AVCaptureDeviceInput alloc] initWithDevice:device error:nil];
if ([_sesion canAddInput:_input]) {
[_sesion addInput:_input];
}
//輸出源
_photoOut = [AVCaptureStillImageOutput new];
if ([_sesion canAddOutput:_photoOut]) {
[_sesion addOutput:_photoOut];
}
_previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:_sesion];
_previewLayer.bounds = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height);
[self.view.layer addSublayer:_previewLayer];
[_sesion startRunning];
}
- (void)clickAction {
AVCaptureConnection *connect = [_photoOut connectionWithMediaType:AVMediaTypeVideo];
[self.photoOut captureStillImageAsynchronouslyFromConnection:connect completionHandler:^(CMSampleBufferRef _Nullable imageDataSampleBuffer, NSError * _Nullable error) {
NSData *data = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
UIImage *image = [UIImage imageWithData:data];
UIImageView *img = [[UIImageView alloc] initWithImage:image];
img.frame = CGRectMake(20, 20, 100, 100);
[self.view addSubview:img];
}];
}
- (AVCaptureDevice *)cameraWithPosition:(AVCaptureDevicePosition)position
{
NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
for ( AVCaptureDevice *device in devices ){
if ( device.position == position )
return device;
}
return nil;
}
iOS相機(jī)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門涨享,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)筋搏,“玉大人仆百,你說(shuō)我怎么就攤上這事”计辏” “怎么了俄周?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)髓迎。 經(jīng)常有香客問(wèn)我峦朗,道長(zhǎng),這世上最難降的妖魔是什么排龄? 我笑而不...
- 正文 為了忘掉前任波势,我火速辦了婚禮,結(jié)果婚禮上橄维,老公的妹妹穿的比我還像新娘尺铣。我一直安慰自己,他們只是感情好争舞,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布凛忿。 她就那樣靜靜地躺著,像睡著了一般竞川。 火紅的嫁衣襯著肌膚如雪店溢。 梳的紋絲不亂的頭發(fā)上,一...
- 那天委乌,我揣著相機(jī)與錄音床牧,去河邊找鬼。 笑死遭贸,一個(gè)胖子當(dāng)著我的面吹牛戈咳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼除秀,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼糯累!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起册踩,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤泳姐,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后暂吉,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體胖秒,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年慕的,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了阎肝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站绕辖,受9級(jí)特大地震影響摇肌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜仪际,卻給世界環(huán)境...
- 文/蒙蒙 一围小、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧树碱,春花似錦肯适、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至伦连,卻和暖如春雨饺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惑淳。 一陣腳步聲響...
- 正文 我出身青樓移斩,卻偏偏與公主長(zhǎng)得像肚医,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子向瓷,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 1.設(shè)置提示框 sheet代理 接上圖 代理 如果想要裁剪后的圖片切記這么寫 *UIImagePickerCont...
- 獲取系統(tǒng)相機(jī)、相冊(cè)用法十分簡(jiǎn)單朱躺,直接上代碼刁赖,分分鐘學(xué)會(huì)。 在某ViewController中直接調(diào)用如下代碼即可 ...
- UIImagePickerController拍照與攝像 該類繼承自UINavigationController類...
- 目的:修改系統(tǒng)拍攝完成后出現(xiàn)的 重拍 和 使用照片 文字 在調(diào)試時(shí)我們可以看到如下圖的層級(jí)結(jié)構(gòu).只要拿到它并修改文...
- 有效溝通的幾個(gè)原則 第一,所有的溝通源请,都發(fā)生在特定的情境中枪芒,所以,溝通的場(chǎng)合和方式一定要有有效設(shè)計(jì)巢钓。 比...