我是新手,正在学习Swift。我已经使用高斯模糊效果在Sketch中创建了模糊的UI界面:
现在我想在UIImageView中实现这个效果。
是否可以使用视觉效果与模糊或CIFilter来实现相同的效果?(我尝试过,但没有成功。可能我错过了什么)
更新:
好的...感谢@firstinq。我打开了他的链接并意识到我使用的是kCIInputRadiusKey而不是inputRadius。现在在模拟器中我成功了,但在真正的iOS设备上还是有问题。
这是在模拟器(iPhone SE)中的截图:
但在真正的iOS设备(iPhone SE)上:
这是我的代码用于模糊图像:
现在我想在UIImageView中实现这个效果。
是否可以使用视觉效果与模糊或CIFilter来实现相同的效果?(我尝试过,但没有成功。可能我错过了什么)
更新:
好的...感谢@firstinq。我打开了他的链接并意识到我使用的是kCIInputRadiusKey而不是inputRadius。现在在模拟器中我成功了,但在真正的iOS设备上还是有问题。
这是在模拟器(iPhone SE)中的截图:
但在真正的iOS设备(iPhone SE)上:
这是我的代码用于模糊图像:
func applyBlurEffect(image: UIImage) -> UIImage{
let imageToBlur = CIImage(image: image)
let blurfilter = CIFilter(name: "CIGaussianBlur")
blurfilter?.setValue(imageToBlur, forKey: "inputImage")
blurfilter?.setValue(13.4, forKey: "inputRadius")
let resultImage = blurfilter?.value(forKey: "outputImage") as! CIImage
let blurredImage = UIImage(ciImage: resultImage)
return blurredImage
}
我在CollectionView项中使用了两张图片。其中一张图片是模糊的,另一张则是完全可见的。模糊的图片大小为125x125(高斯模糊会减小这个尺寸)。而可见的图片大小为50x50。这两张图片都有圆角,使它们呈圆形。