文章目录
-
效果展示: 6 将视频处理为 单色效果:
-
效果展示: 7对相机 画面进行实时渲染:
-
效果展示: 8 录制特效影片 保存到 相册:
0. GPUImage库的添加
import UIKit
import GPUImage //
class ViewController: UIViewController {
var picture : PictureInput! // 用来加载渲染后的 图片输入:
var renderView : RenderView! // 渲染视图, 用来显示渲染后的图片:
// 6
var movie : MovieInput!
// 7 相机
var camera : Camera!
override func viewDidLoad() {
super.viewDidLoad()
// 渲染视图, 用来显示渲染后的图片:
let renderView = RenderView(frame: self.view.bounds)
self.view.addSubview(renderView)
// 加载 测试 图片:
let eImg = UIImage(named:"Picture.jpg")!
/// GPUImage:
//yeTyeGPUImage1(eImg)
//yeTyeGPUImage2(eImg);
//yeTyeGPUImage3(eImg);
//yeTyeGPUImage4(eImg);
//yeTyeGPUImage5(eImg);
//yeTyeGPUImage6(eImg);
yeTyeGPUImage7(eImg);
}
}
1. 使用GPUImage 修改图片的色调:
// 1. 使用GPUImage 修改图片的色调:
func yeTyeGPUImage1(_ eImg : UIImage){
// 初始化一个色调 滤镜: 使用此滤镜渲染指定的图片:
let toonFilter = ToonFilter()
let filteredImage = eImg.filterWithOperation(toonFilter)
// 获取渲染后的图片输入:
picture = PictureInput(image: filteredImage)
// --> 运算符:可以将图片输入链接到渲染视图,从而使得渲染视图显示渲染后的图片,
picture --> renderView
// 异步 对图片进行处理:
picture.processImage()
}
2. 修改图片的色彩饱和度:
// 2. 修改图片的色彩饱和度:
func yeTyeGPUImage2(_ eImg : UIImage){
picture = PictureInput(image: eImg)
// 初始化饱和度调整,
var filter = SaturationAdjustment()
filter.saturation = 6 //设置饱和度的值在0到2之间,
//饱和度的值: 1为默认值; 大于2时图像将会失真; 0:可以清掉图片上所有的色彩信息(即得到灰度图);
// --> 运算符:可以将图像源传递到图像处理者,在处理后将结果传递到渲染视图,
picture --> filter --> renderView
picture.processImage()
}
3. 调整图片的曝光度和亮度
//3.