Created
February 28, 2018 10:57
-
-
Save edwardean/7d7e7c44810d15eee552a19e3af5dac6 to your computer and use it in GitHub Desktop.
Swift Gaussian Blur UIImage
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func blurImage(_ image: UIImage, forRect rect: CGRect, radius: Float) -> UIImage? { | |
let context = CIContext(options: nil) | |
let inputImage = CIImage(cgImage: image.cgImage!) | |
guard let filter = CIFilter(name: "CIGaussianBlur") else { | |
return nil | |
} | |
filter.setValue(inputImage, forKey: kCIInputImageKey) | |
filter.setValue(radius, forKey: kCIInputRadiusKey) | |
guard let outputImage = filter.outputImage else { | |
return nil | |
} | |
let rect = CGRect(origin: .zero, size: image.size) | |
guard let cgImage = context.createCGImage(outputImage, from: rect) else { | |
return nil | |
} | |
return UIImage(cgImage: cgImage) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment