使用 IBDesignable 模糊 ImageView
Blur ImageView using IBDesignable
可以使用 IBDesignable class 将 VisualEffect(模糊)添加到 UIImageView 吗? (我到处搜索,到目前为止什么也没发现)我试过给它添加一个 layer.addSublayer(layer: CALayer) 但是没有视觉效果的 CALayer
您可以尝试创建一个 UIImageView 的子类,如下所示:
@IBDesignable
class Blur: UIImageView {
@IBInspectable var blurImage:UIImage?{
didSet{
updateImage(blurImage!)
}
}
func updateImage(imageBlur:UIImage){
let imageToBlur:CIImage = CIImage(image: imageBlur)!
let blurFilter:CIFilter = CIFilter(name: "CIGaussianBlur")!
blurFilter.setValue(imageToBlur, forKey: "inputImage")
let resultImage:CIImage = blurFilter.valueForKey("outputImage")! as! CIImage
self.image = UIImage(CIImage: resultImage)
}
}
您将不得不尝试使用它以按照您想要的方式获得它。
有关 CoreImageFilter
的更多信息,请参见 here
可以使用 IBDesignable class 将 VisualEffect(模糊)添加到 UIImageView 吗? (我到处搜索,到目前为止什么也没发现)我试过给它添加一个 layer.addSublayer(layer: CALayer) 但是没有视觉效果的 CALayer
您可以尝试创建一个 UIImageView 的子类,如下所示:
@IBDesignable
class Blur: UIImageView {
@IBInspectable var blurImage:UIImage?{
didSet{
updateImage(blurImage!)
}
}
func updateImage(imageBlur:UIImage){
let imageToBlur:CIImage = CIImage(image: imageBlur)!
let blurFilter:CIFilter = CIFilter(name: "CIGaussianBlur")!
blurFilter.setValue(imageToBlur, forKey: "inputImage")
let resultImage:CIImage = blurFilter.valueForKey("outputImage")! as! CIImage
self.image = UIImage(CIImage: resultImage)
}
}
您将不得不尝试使用它以按照您想要的方式获得它。
有关 CoreImageFilter
的更多信息,请参见 here