DDGScreenShot —圖片加各種濾鏡高逼格操作

寫在前面

圖片加各種濾鏡操作,當然蘋果給開發(fā)者提供了相關的api和封裝,
大部分開發(fā)者感覺這是這是晦澀難懂的,接下來就讓我們來了解一下,
其實也沒有那么深不可測。

整合成一個三方庫,以下只是部分代碼,詳細代碼及demo請見,github地址https://github.com/dudongge/DDGScreenShot

DDGScreenShot 所有功能演示

image
image

代碼如下(每一步已經(jīng)解釋的很詳細)

/**
     ** 圖片濾鏡處理篇
     - 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

結束語

當然這只是拋磚引玉,還有更高級的用法,如高斯模糊,老電影等,
此代碼已經(jīng)上傳到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 —圖片加各種濾鏡高逼格操作
  7. (七)DDGScreenShot —圖片加高斯模糊,老電影效果
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 用到的組件 1、通過CocoaPods安裝 2、第三方類庫安裝 3、第三方服務 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 15,195評論 1 180
  • 為過去的事情懊惱,大約覺得自己做錯了很多,心情難以平復,但是現(xiàn)在不是去為了這些事情傷神的時候,做好考研的事情才是當...
    百面書生24閱讀 346評論 0 0
  • 烏云帶著它的殘酷,它的悲痛,它的不堪 這些構成它的東西 獨自隨風飄蕩 無處可去 它不懂 這些東西意味著什么 為什么...
    曦江漓閱讀 194評論 0 1
  • 簡介:《你的名字》,最近很火,有網(wǎng)友分享鏈接,就看了,之前百度了下,以為是不忘初心,現(xiàn)在看是講愛情,女主和三年后的...
    你好陽光013閱讀 587評論 1 0

友情鏈接更多精彩內容