GPUImage之美颜相机

2017-07-06  本文已影响393人  红茶绅士

相关类

整个事件响应链

GPUImageStillCamera -> GPUImageFilter -> GPUImageView

实现过程

懒加载摄像头,滤镜相关对象

//高清前置摄像头
fileprivate lazy var camera : GPUImageStillCamera = GPUImageStillCamera(sessionPreset: AVCaptureSessionPresetHigh, cameraPosition: .front)
//美白滤镜
fileprivate lazy var filter = GPUImageBrightnessFilter()

设置摄像头,滤镜相关属性

//摄像头竖屏显示
camera.outputImageOrientation = .portrait
  
//设置滤镜亮度
filter.brightness = 0.2
//添加滤镜
camera.addTarget(filter)
   
//创建GPUImageView,用于显示实时画面
let showView = GPUImageView(frame: view.bounds)
view.insertSubview(showView, at: 0)
filter.addTarget(showView)
    
//开始捕捉画面
camera.startCapture()

实现拍照按钮点击事件,保存图片到图库

camera.capturePhotoAsImageProcessedUp(toFilter: filter) { (image, error) in     
        //保存图片
        UIImageWriteToSavedPhotosAlbum(image!, nil, nil, nil)    
        self.camera.stopCapture()
}

注意事项

Demo地址

上一篇下一篇

猜你喜欢

热点阅读