ZPhotoBrowser (基于之前的那篇文章PhotoKit初用)

前言

作為一個iOS開發(fā)人員,我已經(jīng)不知不覺的在帝都這個地方上干了塊兩年了豹储。前一陣,由于公司的發(fā)展方向的問題淘这,我被迫加入了找工作的大軍之中剥扣。這可把我擔(dān)心壞了,因為我之前的一個同事找了好久都沒有找到工作铝穷,之后他就選擇回老家發(fā)展了钠怯。做過iOS這行的都知道現(xiàn)在是什么行情了,我就不多說了曙聂。不過還好我找了一周左右吧晦炊,面試不少。但是現(xiàn)在招人的公司宁脊,真的不知道要招什么樣的開發(fā)人員断国,面試草草了事的偏多。還有就是自認(rèn)為大牛的比較多朦佩,我記得我面了一家智能家居的科技公司并思。那個面試我的面試官庐氮,看了我做過的產(chǎn)品语稠。就給我說了一句:“你就是個調(diào)接口和寫TableView的啊∨常”這話聽起來真的讓人難受仙畦,用一句很流行的話說,那就是“扎心了音婶,老鐵”慨畸。我仔細一想,也確實∫率剑現(xiàn)在的App寸士,基本都是這樣的啊檐什。基本都是項目需求是什么做什么弱卡。所以我覺得 我不能在這么下去了乃正。


GPUImage

上面說了,我打算自己做做新的功能婶博。突然間瓮具,就對相機這個模塊感興趣了。畢竟現(xiàn)在是全民P圖凡人,全民美顏的時代名党。我還記得我小的時候看電視有這么一句臺詞“美不美,看大腿”挠轴。在現(xiàn)在應(yīng)該是“美不美传睹,看美顏”。
我就上網(wǎng)找了一下忠荞,偶然間發(fā)現(xiàn)了一個名為GPUImage的蒋歌。好像是可以做到我想要的效果的,它內(nèi)置了很多的濾鏡效果委煤,共125個濾鏡, 分為四類
Color adjustments: 31 filters, 顏色處理相關(guān)
Image processing: 40 filters, 圖像處理相關(guān).
Blending modes: 29 filters, 混合模式相關(guān).
Visual effects: 25 filters, 視覺效果相關(guān).
這里我就不把濾鏡的效果一一的列舉出來了堂油,有興趣的可以去看gpuimage的各種濾鏡簡介GPUImage濾鏡列表 后面這個是簡書的文章,推薦1探省府框!


GPUImage之相機

要實現(xiàn)相機的效果主要有如下幾個變量:
@property (nonatomic, strong) GPUImageStillCamera *camera;
可以理解為設(shè)備
@property (nonatomic, strong) GPUImageView *imageView;
用于顯示的View
其實主要的變量還有一個就是你的濾鏡。
首先讥邻,我不是學(xué)計算機出身的一個iOS菜雞迫靖,對于那些什么美顏算法什么的真的是搞不明白。我就上網(wǎng)找了一個兴使,在我的demo中有系宜,你也可以調(diào)用系統(tǒng)的濾鏡文件。

//AVCaptureDevicePositionBack為后攝像頭 front為前置攝像頭
//AVCaptureSessionPreset1920x1080為分辨率 另外還支持多種分辨率
//AVCaptureSessionPreset1280x720 等等等等
- (GPUImageStillCamera *)camera{
    if (!_camera) {
        _camera = [[GPUImageStillCamera alloc]initWithSessionPreset:AVCaptureSessionPreset1280x720 cameraPosition:AVCaptureDevicePositionBack];
        _camera.outputImageOrientation = UIInterfaceOrientationPortrait;
        //設(shè)置前置攝像頭鏡像問題
        _camera.horizontallyMirrorFrontFacingCamera = YES;
    }
    return _camera;
}
//濾鏡
- (GPUImageBeautifyFilter *)filter{
    if (!_filter) {
        _filter = [[GPUImageBeautifyFilter alloc]init];
    }
    return _filter;
}
- (GPUImageView *)imageView{
    if (!_imageView) {
        _imageView = [[GPUImageView alloc]initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
        //顯示模式
        _imageView.fillMode = kGPUImageFillModePreserveAspectRatioAndFill;
    }
    return _imageView;
}

這只是初始化发魄,然后這3個變量之間還要添加一下

    [self.camera addTarget:self.filter];
    [self.filter addTarget:self.imageView];
    [self.view addSubview:self.imageView];

到此為止盹牧,你就萬事俱備了,只差東風(fēng)了励幼。你一定會問汰寓,東風(fēng)是什么?那么我就告訴你苹粟,東風(fēng)就是[self.camera startCameraCapture];這個時候你的相機就可以捕獲視圖了有滑。
那么接下來,咱么就要給自己自定義的相機增加一些相應(yīng)的功能按鈕嵌削,例如拍照毛好, 旋轉(zhuǎn)攝像頭之類的 都是標(biāo)配
當(dāng)我們按下拍照按鈕的時候調(diào)用

    [self.camera capturePhotoAsImageProcessedUpToFilter:self.filter withCompletionHandler:^(UIImage *processedImage, NSError *error) {
        if (error) {
            return ;
        }
        //成功了
        [self successCutPic:processedImage];
    }];

返回的那個processedImage就是你的照片了望艺,然后你就去存儲這張照片就可以了。當(dāng)然了肌访,你此時就用該讓你的相機停止捕獲視圖[self.camera stopCameraCapture];然后再去存荣茫。
旋轉(zhuǎn)攝像頭,GPUImage自己就有相應(yīng)的方法[self.camera rotateCamera]


忘記說了一個事情场靴,在Github下載下來的GPUImage還需要你自己去編譯libGPUImage.a文件啡莉。如果不會的話可以去看看GPUImage集成上面寫的很詳細了。


傳送門

ZPhotoBrowser

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旨剥,一起剝皮案震驚了整個濱河市咧欣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌轨帜,老刑警劉巖魄咕,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蚌父,居然都是意外死亡哮兰,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門苟弛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喝滞,“玉大人,你說我怎么就攤上這事膏秫∮以猓” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵缤削,是天一觀的道長窘哈。 經(jīng)常有香客問我,道長亭敢,這世上最難降的妖魔是什么滚婉? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮帅刀,結(jié)果婚禮上让腹,老公的妹妹穿的比我還像新娘。我一直安慰自己劝篷,他們只是感情好哨鸭,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布民宿。 她就那樣靜靜地躺著娇妓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪活鹰。 梳的紋絲不亂的頭發(fā)上哈恰,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天只估,我揣著相機與錄音,去河邊找鬼着绷。 笑死蛔钙,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的荠医。 我是一名探鬼主播吁脱,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼彬向!你這毒婦竟也來了兼贡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤娃胆,失蹤者是張志新(化名)和其女友劉穎遍希,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體里烦,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡凿蒜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了胁黑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片废封。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖丧蘸,靈堂內(nèi)的尸體忽然破棺而出虱饿,到底是詐尸還是另有隱情,我是刑警寧澤触趴,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布氮发,位于F島的核電站,受9級特大地震影響冗懦,放射性物質(zhì)發(fā)生泄漏爽冕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一披蕉、第九天 我趴在偏房一處隱蔽的房頂上張望颈畸。 院中可真熱鬧,春花似錦没讲、人聲如沸眯娱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽徙缴。三九已至,卻和暖如春嘁信,著一層夾襖步出監(jiān)牢的瞬間于样,已是汗流浹背疏叨。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留穿剖,地道東北人蚤蔓。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像糊余,于是被迫代替她去往敵國和親秀又。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

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