Skip to content

Instantly share code, notes, and snippets.

@skeptycal
Forked from mxcl/UIImage+Blur+Swift4.swift
Created January 12, 2022 05:00
Show Gist options
  • Save skeptycal/84694a4513a12f6663dc8c61d4217e23 to your computer and use it in GitHub Desktop.
Save skeptycal/84694a4513a12f6663dc8c61d4217e23 to your computer and use it in GitHub Desktop.
extension UIImage {
func blurred(radius: CGFloat) -> UIImage {
let ciContext = CIContext(options: nil)
guard let cgImage = cgImage else { return self }
let inputImage = CIImage(cgImage: cgImage)
guard let ciFilter = CIFilter(name: "CIGaussianBlur") else { return self }
ciFilter.setValue(inputImage, forKey: kCIInputImageKey)
ciFilter.setValue(radius, forKey: "inputRadius")
guard let resultImage = ciFilter.value(forKey: kCIOutputImageKey) as? CIImage else { return self }
guard let cgImage2 = ciContext.createCGImage(resultImage, from: inputImage.extent) else { return self }
return UIImage(cgImage: cgImage2)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment