-
問題
領(lǐng)導(dǎo)安排任務(wù)偏塞,寫個拍照功能唱蒸,界面跟系統(tǒng)拍照有點出入
拍完照片,底部顯示已拍照片灸叼,有個拍照上限[在此不論]
點擊已拍照片神汹,可以預(yù)覽庆捺、放大縮小查看
-
思路
系統(tǒng)拍照肯定不行了,只能定制屁魏,沒提是否拍照禁止聲音的需求[非偷拍疼燥,正經(jīng)人]
原則上能簡單就不復(fù)雜,拍磚AVCapturePhotoOutput
-
捋捋
首先蚁堤,你需要一塊暫時當(dāng)前場景的layer醉者,這里不提,參考上篇[iOS寫在定制相機之前]
其次披诗,定義session + photoOutput
再次撬即,定義拍照事件
最后,代理中獲得照片
-
上菜
- session定義 input設(shè)置
self.session = [[AVCaptureSession alloc] init]; self.session.sessionPreset = AVCaptureSessionPresetPhoto; AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; self.dInput = [AVCaptureDeviceInput deviceInputWithDevice:device error:nil]; if ([self.session canAddInput:self.dInput]) { [self.session addInput:self.dInput]; }
- 拍照場景l(fā)ayer
self.preView = [[AVPreView alloc] init]; self.preView.backgroundColor = [UIColor colorWithHexs:0x3f3f3f]; self.preView.session = self.session; [self.preView setVideoOrientation:AVCaptureVideoOrientationLandscapeRight]; [self.view addSubview:self.preView]; [self.preView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.view); make.top.equalTo(self.topView.mas_bottom); make.bottom.equalTo(self.collect.mas_top); make.right.equalTo(rightView.mas_left); }];
- 設(shè)置photoOutput
self.photoOutput = [[AVCapturePhotoOutput alloc] init]; if ([self.session canAddOutput:self.photoOutput]) { [self.session addOutput:self.photoOutput]; } [self.photoOutput.connections.lastObject setVideoOrientation:AVCaptureVideoOrientationLandscapeRight];
- session start
[self.session startRunning];
- 拍照點擊
AVCapturePhotoSettings *set = [AVCapturePhotoSettings photoSettings]; [self.photoOutput capturePhotoWithSettings:set delegate:self];
- AVCapturePhotoCaptureDelegate
#pragma mark - AVCapturePhotoCaptureDelegate - (void)captureOutput:(AVCapturePhotoOutput *)output didFinishProcessingPhoto:(AVCapturePhoto *)photo error:(NSError *)error API_AVAILABLE(ios(11.0)){ if (!error) { // 使用該方式獲取圖片呈队,可能圖片會存在旋轉(zhuǎn)問題剥槐,在使用的時候調(diào)整圖片即可 NSData *data = [photo fileDataRepresentation]; UIImage *image = [UIImage imageWithData:data]; // 對,就是上面的image } }
-
Game Over.
See me Tomorrow, haha
iOS拍照定制之AVCapturePhotoOutput
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門喉刘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瞧柔,“玉大人,你說我怎么就攤上這事睦裳≡旃” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵廉邑,是天一觀的道長哥蔚。 經(jīng)常有香客問我,道長鬓催,這世上最難降的妖魔是什么肺素? 我笑而不...
- 正文 為了忘掉前任恨锚,我火速辦了婚禮宇驾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘猴伶。我一直安慰自己课舍,他們只是感情好塌西,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著筝尾,像睡著了一般捡需。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上筹淫,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼棒卷!你這毒婦竟也來了顾孽?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布关串,位于F島的核電站,受9級特大地震影響监徘,放射性物質(zhì)發(fā)生泄漏晋修。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一凰盔、第九天 我趴在偏房一處隱蔽的房頂上張望墓卦。 院中可真熱鬧,春花似錦户敬、人聲如沸落剪。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽忠怖。三九已至呢堰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凡泣,已是汗流浹背枉疼。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 之前在工作中遇到一些技術(shù)上的問題,經(jīng)過幾番查找才得以解決,浪費了不少時間開發(fā)中很影響項目進(jìn)度,最近因為換工作才有時...
- 一般又、引入AVFoundation框架 添加頭文件 #import 二歇拆、定義以下對象: AVCaptureDevic...
- 【前言】此篇文章宗旨顽频,在于忘記時衬鱼,方便查閱∮醵希【原因】 為什么要自定義相機拍照孵户?因為系統(tǒng)的相機拍照無法滿足項目的需求...
- 1宵距、為什么使用二維碼环揽? 在手機客戶端應(yīng)用里略荡,對二維碼的使用也比較多。常見的功能有物品信息查詢歉胶,登錄信息驗證汛兜,掃描登...