EnjoyCamera
之前寫過一系列的 GPUImage叽掘、OpenGL ES 相關(guān)的文章刹前,但是寫的例子都比較零散对蒲,也比較簡單,并沒有提供完整的項目听隐。其實荆责,在寫博客的時候?qū)懥艘粋€簡單的相機應用长酗,該項目以 GPUImage 為基礎(chǔ)机隙,涉及到了多種實時濾鏡和圖片處理,現(xiàn)在可以開源出來供大家學習证膨。本項目使用的圖片來自網(wǎng)絡(luò)如输,因此不要用于商業(yè)用途。
Idea
- Idea from: GPUImage
- Idea from My GPUImage Blog
- Idea from My OpenGL Blog
Feature
- 實現(xiàn)相機拍照央勒、濾鏡功能
- 實現(xiàn)圖片的選擇不见、裁剪和縮放
- 實現(xiàn)圖片的濾鏡
- 實現(xiàn)圖片添加貼紙(貼紙可移動,放大,旋轉(zhuǎn),縮放,翻轉(zhuǎn))
- 實現(xiàn)了保存制作好的圖片,并分享的功能
- 增加了崩潰日志收集功能
Explanation
- 項目目前使用簡單的MVC架構(gòu)崔步,但是里面包含了 ReactiveObjC 框架脖祈。之前準備用 MVVM 架構(gòu)來實現(xiàn)的,但是想著項目本著簡單的原則刷晋,讓大家更容易學習 GPUImage、OpenGL ES 的相關(guān)內(nèi)容慎陵,我在開源代碼的時候去掉了 MVVM 的相關(guān)內(nèi)容(畢竟學習 ReactiveObjC 的難度也不小嘛)眼虱,但是一些簡單的事件不用學習 ReactiveObjC ,理解起來難度并不大席纽,因此也就沒有去掉捏悬。總的來說润梯,引入 ReactiveObjC 只是做簡單的事件處理过牙、實現(xiàn)簡單的 KVO 功能(當然 ReactiveObjC 的功能遠不止于此)。
ScreenShot
Thanks
Blog
Github
Contact Me
- Email: 11gmqin@gmail.com
License
Copyright 2017 Qinmin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.