【发布时间】:2015-07-27 20:43:37
【问题描述】:
我正在使用 Swift 开发具有相机功能的 iOS 应用程序,它需要在相机视图上方有一个模糊层,中间有一个孔,如下图所示。
我尝试了几种方法,但都没有在不覆盖孔的情况下添加模糊效果。在 Google 上花费时间后,我也没有找到可行的解决方案。
谁能提供一些关于如何仅模糊附加到图像视图的 png 图像的非透明部分的提示?
我尝试过的方法:
-
使用 iOS 8 内置的模糊效果
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark) let blurEffectView = UIVisualEffectView(effect: blurEffect) maskImage.addSubview(blurEffectView) -
使用“CIGaussianBlur”滤镜
var imageToBlur = CIImage(image: image) var blurfilter = CIFilter(name: "CIGaussianBlur") blurfilter.setValue(imageToBlur, forKey: "inputImage") var resultImage = blurfilter.valueForKey("outputImage") as! CIImage var blurredImage = UIImage(CIImage: resultImage) self.maskImage.image = blurredImage
我想要的视觉效果:
【问题讨论】:
-
顺便说一下,当前图层是png格式的图片,中间有个洞,贴在相机视图上方的一个图片视图上。