美文网首页
GUIImage—2、美颜相机

GUIImage—2、美颜相机

作者: 7dfa9c18c1d1 | 来源:发表于2016-12-29 15:51 被阅读235次

需要用到的类是:GPUImageStillCamera
作用是:拍摄某一个画面,并且保存图片

初始化GPUImageStillCamera需要用到sessionPreset参数设置:

Paste_Image.png

代码如下:

//
//  ViewController.swift
//  美颜相机
//
//  Created by liyang on 16/12/19.
//  Copyright © 2016年 liyang. All rights reserved.
//

import UIKit
import GPUImage

class ViewController: UIViewController {
    
    @IBOutlet weak var bjImg: UIImageView!
    
    fileprivate lazy var camera: GPUImageStillCamera = GPUImageStillCamera(sessionPreset: AVCaptureSessionPresetHigh, cameraPosition: .back)
    
    // 初始化滤镜
    let bilateralFilter = GPUImageBilateralFilter() // 磨皮
    let exposureFilter = GPUImageExposureFilter() // 曝光
    let brightnessFilter = GPUImageBrightnessFilter() // 美白
    let satureationFilter = GPUImageSaturationFilter() // 饱和
    let fileterGroup = GPUImageFilterGroup()
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 1、创建GPUImageStillCamera
        camera.outputImageOrientation = .portrait
        
        // 2、添加滤镜(美白、曝光、磨皮、曝光)
        let filerGroup = getGroupFileters()
        camera.addTarget(filerGroup)
        
        // 3、创建GPUImage,用于实时显示画面
        let showView = GPUImageView(frame: view.bounds)
        view.insertSubview(showView, at: 0)
        filerGroup.addTarget(showView)
        
        // 4、开始补抓
        camera.startCapture()
        
    }
    
    // MARK:- 旋转镜头
    @IBAction func rotateCamera(_ sender: Any) {
        camera.rotateCamera()
    }
    
    // 拍摄照片
    @IBAction func takeCamera(_ sender: Any) {
        camera.capturePhotoAsImageProcessedUp(toFilter: fileterGroup, withCompletionHandler: { (image, error) in
            UIImageWriteToSavedPhotosAlbum(image!, nil, nil, nil)
            
            self.bjImg.image = image
            
            // 停止采集
//            self.camera.stopCapture()
        })
    }
    
    
    
    fileprivate func getGroupFileters() -> GPUImageFilterGroup {
        
        // 2、创建滤镜(设置滤镜的引用关系)
        bilateralFilter.addTarget(brightnessFilter)
        brightnessFilter.addTarget(exposureFilter)
        exposureFilter.addTarget(satureationFilter)
        
        // 3、设置滤镜组链的起点&&终点
        fileterGroup.initialFilters = [bilateralFilter]
        fileterGroup.terminalFilter = satureationFilter
        
        return fileterGroup
    }
}

demo

相关文章

  • GUIImage—2、美颜相机

    需要用到的类是:GPUImageStillCamera作用是:拍摄某一个画面,并且保存图片 初始化GPUImage...

  • 基于GPUImage的美颜相机--基于Swift3.0

    几个月之前,直播美颜,各种美颜相机满天飞。看到自己老婆天天拿着美颜相机拍照,所以决定自己写一个美颜相机让她用,虽然...

  • 种植牙,一个实力与颜值兼备的圈粉大师

    满脸痘痘,没关系,用美颜相机帮你, 皮肤不好,没关系,用美颜相机帮你, 眼睛不够大,没关系,用美颜相机帮你, 但如...

  • 美颜相机

    自拍了一张相片, 我把自己的照得很美… 内心切切私喜 但我也坏疑, 这是否是真实的自己… 科技的手段总是很强大… ...

  • 美颜相机

    随着各种自拍神器的横空出世,借助美颜相机、美图秀秀等自拍软件的神效,矮矬穷、黑穷丑秒变为高富帅、白富美,这满足...

  • 美颜相机

    岳母喜欢做相册红红绿绿的电子的 她经常把涉足的山水编辑好发到家里的群和同学的群里有时候我会点开明快的节奏还透着摇滚...

  • 美颜相机

    曾有人说人造美女中国最厉害,韩国靠整容,日本靠化妆,而中国只需要一部美颜相机就够了。确实是,又经济又快捷。 自打美...

  • 美颜相机

    大家对美颜相机褒贬不一,看了好几个朋友写的文章,今天也来凑凑热闹。 文/风糖 不知道是哪个贴心的天使宝宝,把滤镜修...

  • 美颜相机

    因为下雨,和朋友在一家咖啡馆窝着 店里环境很小清新,店主是个很有情怀的人,楼下咖啡果茶,楼上是民宿。 看着布置这么...

  • 美颜相机

    对于这几年美颜相机的流行,身边人对此有不同的看法。 1/ 觉得不真实,那是骗人的。 2/ 拍出来很美,心情很好 3...

网友评论

      本文标题:GUIImage—2、美颜相机

      本文链接:https://www.haomeiwen.com/subject/xplsvttx.html