使用Swift向NSImage添加模糊
我正在寻找一种使用Swift向NSImage图像添加模糊效果的方法 在为iOS开发时,UIImage提供了如下方法使用Swift向NSImage添加模糊,swift,nsimage,nsimageview,Swift,Nsimage,Nsimageview,我正在寻找一种使用Swift向NSImage图像添加模糊效果的方法 在为iOS开发时,UIImage提供了如下方法 applyLightEffectAtFrame:frame 。。。但我找不到与Cocoa/OSX应用程序相同的东西 编辑1:我尝试使用CIFilter: let beginImage = CIImage(data: responseData) let filter = CIFilter(name: "CIGaussianBlur") filter.setValue(beginIm
applyLightEffectAtFrame:frame
。。。但我找不到与Cocoa/OSX应用程序相同的东西
编辑1:我尝试使用CIFilter:
let beginImage = CIImage(data: responseData)
let filter = CIFilter(name: "CIGaussianBlur")
filter.setValue(beginImage, forKey: kCIInputImageKey)
filter.setValue(0.5, forKey: kCIInputIntensityKey)
// HOW CAN I MAKE AN NSIMAGE OUT OF THE CIIMAGE?
let newImage = ???
imageView.image = newImage
我解决了这个问题,只需在Interface Builder中为我的NSImageView添加一个内容过滤器。以下内容(摘自)对我有用
var originalImage = NSImage(named: "myImageName")
var inputImage = CIImage(data: originalImage?.TIFFRepresentation)
var filter = CIFilter(name: "CIGaussianBlur")
filter.setDefaults()
filter.setValue(inputImage, forKey: kCIInputImageKey)
var outputImage = filter.valueForKey(kCIOutputImageKey) as CIImage
var outputImageRect = NSRectFromCGRect(outputImage.extent())
var blurredImage = NSImage(size: outputImageRect.size)
blurredImage.lockFocus()
outputImage.drawAtPoint(NSZeroPoint, fromRect: outputImageRect, operation: .CompositeCopy, fraction: 1.0)
blurredImage.unlockFocus()
imageView.image = blurredImage
希望它能帮助新来者核心图像过滤器一般相当于你在iOS上可以找到的许多图像效果;我试着使用CIFilter,认为这是一个很好的方法,但没有找到如何将CIImage转换回NSImage?这是一个使用图像重复的足够简单的过程。见: