UIImageViewの画像プロパティを でぼかしている画像に設定しようとしていCoreImageます。コードはフィルター処理されていない画像で完全に機能しますが、背景画像をフィルター処理された画像に設定すると、アスペクトの塗りつぶしではなく、画像が垂直方向に引き伸ばさcontentModeれて動作を停止するように見えます。コードでのUIImageView設定に加え、ストーリーボードにも設定しましたが結果は同じでした。contentMode
Swift 2 / Xcode 7 を使用しています。
func updateBackgroundImage(image: UIImage) {
backgroundImage.contentMode = .ScaleAspectFill
backgroundImage.layer.masksToBounds = true
backgroundImage.image = blurImage(image)
}
func blurImage(image: UIImage) -> UIImage {
let imageToBlur = CIImage(image: image)!
let blurfilter = CIFilter(name: "CIGaussianBlur")!
blurfilter.setValue(10, forKey: kCIInputRadiusKey)
blurfilter.setValue(imageToBlur, forKey: "inputImage")
let resultImage = blurfilter.valueForKey("outputImage") as! CIImage
let croppedImage: CIImage = resultImage.imageByCroppingToRect(CGRectMake(0, 0, imageToBlur.extent.size.width, imageToBlur.extent.size.height))
let blurredImage = UIImage(CIImage: croppedImage)
return blurredImage
}
フィルタリングでCIImage画像が無視されるのはなぜcontentModeですか? また、問題を解決するにはどうすればよいですか?