第一张图片是原始图片。
第二张图片是使用Core Image API实现的模糊图片。
第三张图片是使用
显然,Core Image模糊了图像并缩小了它。更大的半径导致了更宽的白边。
问题:如何使用Core Image制作与
至少,如何使用Core Image对图像进行模糊处理而没有白色边框。
第三张图片是:
第二张图片是使用Core Image API实现的模糊图片。
第三张图片是使用
UIVisualView
实现的模糊图片。显然,Core Image模糊了图像并缩小了它。更大的半径导致了更宽的白边。
问题:如何使用Core Image制作与
UIVisualView
效果类似的视觉效果。至少,如何使用Core Image对图像进行模糊处理而没有白色边框。
func blur(image: UIImage, withRadius radius: Float) -> UIImage {
let context = CIContext(options: nil)
let image = CIImage(image: image)
let filter = CIFilter(name: "CIGaussianBlur")
filter?.setValue(image, forKey: kCIInputImageKey)
filter?.setValue(radius, forKey: "inputRadius")
let result = filter?.outputImage
return UIImage(cgImage: context.createCGImage(result!, from: (result?.extent)!)!)
}
第三张图片是:
func addVisualEffectView() {
let effectView = UIVisualEffectView(effect: UIBlurEffect(style:.light))
effectView.frame = originalImageView.bounds // originalImageView is the ImageView represents the original image
originalImageView.addSubview(effectView)
}