DDGScreenShot —图片加各种滤镜高逼格操作

写在前面

所有功能演示

imageimage

图片加各种滤镜操作,当然苹果给开发者提供了相关的api和封装,
大部分开发者感觉这是这是晦涩难懂的,接下来就让我们来了解一下,
其实也没有那么深不可测。

代码如下(每一步已经解释的很详细)

/**
     ** 图片滤镜处理篇
     - image --传图片
     - filter -- 传入滤镜
     */
    public func imageFilterHandel(image: UIImage, filterName: String) -> UIImage? {
        //输入图片
        let inputImage = CIImage(image: image)
        //设置filter健值
        let filter = CIFilter(name: filterName)
        filter?.setValue(inputImage, forKey: kCIInputImageKey)
        //得到滤镜中输出图像
        let outputImage =  filter?.outputImage!
        //设置上下文
        let context: CIContext = CIContext(options: nil)
        //通过上下文绘制获取
        let cgImage = context.createCGImage(outputImage!, from: (outputImage?.extent)!)
        //得到最新的图片
        let newImage = UIImage(cgImage: cgImage!)
        return newImage
    }
    
    /**
     ** 图片滤镜处理篇
     - image --传图片
     - filter -- 传入滤镜
     - parameter completed:    异步完成回调(主线程回调)
     */
    public func async_imageFilterHandel(image: UIImage, filterName: String,completed:@escaping (UIImage?) -> ()) -> Void {
        DispatchQueue.global().async{
            let newImage = self.imageFilterHandel(image: image, filterName: filterName)
            DispatchQueue.main.async(execute: {
                completed(newImage)
            })
        }
    }
    
    //具体用法
    let newImage = DDGManage.share.imageFilterHandel(image: originalImage, filterName: "CIPhotoEffectInstant")
            self.imageView.image = newImage

结束语

当然这只是抛砖引玉,还有更高级的用法,如高斯模糊,老电影等,
此代码已经上传到githup[DDGScreenShot](https://github.com/dudongge/DDGScreenShot)
[link](https://github.com/dudongge/DDGScreenShot)
当然这只是这个库的功能的一小部分
想看更多功能,可以去github上下载,如果对您有帮助,希望您不吝给个star.

欢迎查看DDGScreenShot

其余功能如下

  1. (一)DDGScreenShot — 复杂屏幕截屏(如view ScrollView webView wkwebView)

  2. (二)DDGScreenShot--iOS 图片处理--多图片拼接

  3. (三)DDGScreenShot--iOS 图片裁剪,切圆角,加边框,你还用cornerRadius,还有更高级的用法

  4. (四)DDGScreenShot—图片擦除功能

  5. (五)DDGScreenShot—截取图片的任意部分

  6. (七)DDGScreenShot —图片加高斯模糊,老电影效果

原文地址:https://www.cnblogs.com/dudongge/p/9013625.html