Skip to content

Instantly share code, notes, and snippets.

@Zedd0202
Last active October 12, 2020 01:10
Show Gist options
  • Save Zedd0202/8d3e567161d0c92e7d585bb74e926413 to your computer and use it in GitHub Desktop.
Save Zedd0202/8d3e567161d0c92e7d585bb74e926413 to your computer and use it in GitHub Desktop.
extension UIImage {
func applyBlur_usingClamp(radius: CGFloat) -> UIImage {
let context = CIContext()
guard let ciImage = CIImage(image: self),
let clampFilter = CIFilter(name: "CIAffineClamp"),
let blurFilter = CIFilter(name: "CIGaussianBlur") else {
return self
}
clampFilter.setValue(ciImage, forKey: kCIInputImageKey)
blurFilter.setValue(clampFilter.outputImage, forKey: kCIInputImageKey)
blurFilter.setValue(radius, forKey: kCIInputRadiusKey)
guard let output = blurFilter.outputImage,
let cgimg = context.createCGImage(output, from: ciImage.extent) else {
return self
}
return UIImage(cgImage: cgimg)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment