iOS拍照定制之AVCapturePhotoOutput

  • 問題

    領(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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宪摧,一起剝皮案震驚了整個濱河市粒竖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌几于,老刑警劉巖蕊苗,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異沿彭,居然都是意外死亡朽砰,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門喉刘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瞧柔,“玉大人,你說我怎么就攤上這事睦裳≡旃” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵廉邑,是天一觀的道長哥蔚。 經(jīng)常有香客問我,道長鬓催,這世上最難降的妖魔是什么肺素? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任恨锚,我火速辦了婚禮宇驾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘猴伶。我一直安慰自己课舍,他們只是感情好塌西,可當(dāng)我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著筝尾,像睡著了一般捡需。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上筹淫,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天站辉,我揣著相機與錄音,去河邊找鬼损姜。 笑死饰剥,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的摧阅。 我是一名探鬼主播汰蓉,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼棒卷!你這毒婦竟也來了顾孽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤比规,失蹤者是張志新(化名)和其女友劉穎若厚,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜒什,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡盹沈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了吃谣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乞封。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖岗憋,靈堂內(nèi)的尸體忽然破棺而出肃晚,到底是詐尸還是另有隱情,我是刑警寧澤仔戈,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布关串,位于F島的核電站,受9級特大地震影響监徘,放射性物質(zhì)發(fā)生泄漏晋修。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一凰盔、第九天 我趴在偏房一處隱蔽的房頂上張望墓卦。 院中可真熱鬧,春花似錦户敬、人聲如沸落剪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽忠怖。三九已至呢堰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凡泣,已是汗流浹背枉疼。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鞋拟,地道東北人往衷。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像严卖,于是被迫代替她去往敵國和親席舍。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容