Swift如何从UIGraphics将CIFilter应用于UIImage?

时间:2015-03-20 09:58:40

标签: swift filter

我想从UIImage创建模糊背景,但是我收到以下错误:致命错误:在解包可选值时意外发现nil 请帮帮我!

func createBackgroundImage(inputImage input:UIImage)->UIImage
{
let bounds = UIScreen.mainScreen().bounds
let size = bounds.size

let scale = max(size.width / input.size.width, size.height / input.size.height)

UIGraphicsBeginImageContextWithOptions(size, false, 1.0 / scale)
input.drawInRect(bounds)

var data:UIImage = UIGraphicsGetImageFromCurrentImageContext()!

UIGraphicsEndImageContext()

var filter = CIFilter(name: "CIGaussianBlur")
filter.setValue(data.CIImage, forKey: kCIInputImageKey)
filter.setValue(10.0, forKey: kCIInputRadiusKey)
return UIImage(CIImage: filter.outputImage)!
}

整个项目可在https://github.com/larryhou/swift/tree/master/PhotoPreview

找到

https://github.com/larryhou/swift/blob/master/PhotoPreview/PhotoPreview/PhotoPreviewController.swift 行:63

0 个答案:

没有答案