5

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ですか? また、問題を解決するにはどうすればよいですか?

4

1 に答える 1