我有以下代码来模糊UIImageView中的图像。然后它将该图像放入UIImageView。
在应用模糊效果之前,图像剪辑并设置为ScaleAspectFill
但是一旦应用了效果,它就会拉伸图像。我哪里错了?
由于
let rectangle = UIImageView(frame: CGRectMake(xPosPix+100, yPosPix, widthPix, heightPix))
rectangle.contentMode = UIViewContentMode.ScaleAspectFill
rectangle.frame = CGRectMake(xPosPix+100, yPosPix, widthPix, heightPix)
rectangle.layer.opacity = opacity
rectangle.layer.cornerRadius = cornerRadius
rectangle.clipsToBounds = true
self.view.addSubview(rectangle)
var image = rectangle.image
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)
rectangle.layer.cornerRadius = cornerRadius
rectangle.clipsToBounds = true
rectangle.image = blurredImage
答案 0 :(得分:0)
我想你可能想要
rectangle.layer.masksToBounds = true;
而不是第二个
rectangle.clipsToBounds = true
另外,如果你使用layoutConstraints,他们喜欢乱七八糟的角落。如果是这种情况,请尝试在layoutSubviews
中设置角半径属性