* feat: add ios and rn source * fix(ios): remove testing keys * fix(tracker): change default path
24 lines
908 B
Swift
24 lines
908 B
Swift
import UIKit
|
|
|
|
extension UIImage {
|
|
func applyBlurWithRadius(_ blurRadius: CGFloat) -> UIImage? {
|
|
if (size.width < 1 || size.height < 1) {
|
|
return nil
|
|
}
|
|
guard let inputCGImage = self.cgImage else {
|
|
return nil
|
|
}
|
|
let inputImage = CIImage(cgImage: inputCGImage)
|
|
let filter = CIFilter(name: "CIGaussianBlur")
|
|
filter?.setValue(inputImage, forKey: kCIInputImageKey)
|
|
filter?.setValue(blurRadius, forKey: kCIInputRadiusKey)
|
|
guard let outputImage = filter?.outputImage else {
|
|
return nil
|
|
}
|
|
let context = CIContext(options: nil)
|
|
guard let outputCGImage = context.createCGImage(outputImage, from: inputImage.extent) else {
|
|
return nil
|
|
}
|
|
return UIImage(cgImage: outputCGImage)
|
|
}
|
|
}
|