我是斯威夫特的新手。我使用高斯模糊效果在 Sketch 中创建了模糊的 UI:
现在我想在 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。两个图像都有圆角半径,使它们成为圆形。