プログラミングと旅と映画の日々

普段はスマホ決済サービスの会社でバッグエンドを担当しているエンジニアです。プログラミングと趣味の映画、株、時々うどんに関してブログを書いていこうと思います。海外ドラマ、クロスバイクも好きです。

【Swift】 超簡単!画像にフィルターを付けて加工する方法

まずframeworkをimportする
CoreImage

linked frameworks and librariesのプラスボタンをクリック
f:id:takanori5:20171026225412p:plain

CoreImageを選択してADD
f:id:takanori5:20171026225459p:plain

あとはボタンタップ時などに以下のように実装すればOKです。

import CoreImage

超簡単ですね!!

// image が 元の画像
let ciImage:CIImage = CIImage(image:image);
let ciFilter:CIFilter = CIFilter(name: "CISepiaTone")
ciFilter.setValue(ciImage, forKey: kCIInputImageKey)
ciFilter.setValue(0.8, forKey: "inputIntensity")
let ciContext:CIContext = CIContext(options: nil)
let cgimg:CGImageRef = ciContext.createCGImage(ciFilter.outputImage, fromRect:ciFilter.outputImage.extent())

//image2がフィルター後画像
let image2:UIImage? = UIImage(CGImage: cgimg, scale: 1.0, orientation:UIImageOrientation.Up)