GPUImage源码阅读——EnjoyCamera项目

EnjoyCamera

之前写过一系列的 GPUImage、OpenGL ES 相关的文章,但是写的例子都比较零散,也比较简单,并没有提供完整的项目。其实,在写博客的时候写了一个简单的相机应用,该项目以 GPUImage 为基础,涉及到了多种实时滤镜和图片处理,现在可以开源出来供大家学习。本项目使用的图片来自网络,因此不要用于商业用途。

Idea

Feature

  • 实现相机拍照、滤镜功能
  • 实现图片的选择、裁剪和缩放
  • 实现图片的滤镜
  • 实现图片添加贴纸(贴纸可移动,放大,旋转,缩放,翻转)
  • 实现了保存制作好的图片,并分享的功能
  • 增加了崩溃日志收集功能

Explanation

  • 项目目前使用简单的MVC架构,但是里面包含了 ReactiveObjC 框架。之前准备用 MVVM 架构来实现的,但是想着项目本着简单的原则,让大家更容易学习 GPUImage、OpenGL ES 的相关内容,我在开源代码的时候去掉了 MVVM 的相关内容(毕竟学习 ReactiveObjC 的难度也不小嘛),但是一些简单的事件不用学习 ReactiveObjC ,理解起来难度并不大,因此也就没有去掉。总的来说,引入 ReactiveObjC 只是做简单的事件处理、实现简单的 KVO 功能(当然 ReactiveObjC 的功能远不止于此)。

ScreenShot

1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
10.png
11.png
12.png
13.png

Thanks

Blog

Github

Contact Me

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.
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,436评论 25 708
  • 彻底掌握Photoshop CS5视频教程(125集) http://www.jc88.net/Article/t...
    巴糖阅读 1,117评论 2 28
  • 三月东风起,江河日渐开。 良禾枯待露,雨润似恩来。 后记:此小诗作于2018年1月8日。是日,初文思枯涩,心沉如铅...
    简书万步阅读 138评论 2 4