首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用CiFilter GaussianBlur

应用CiFilter GaussianBlur
EN

Stack Overflow用户
提问于 2015-08-26 01:07:07
回答 3查看 4.7K关注 0票数 1

正如标题所述,我需要将GaussianBlur实现为UIImage;我试图搜索教程,但仍然无法实现它。我试过这个

代码语言:javascript
复制
var imageToBlur = CIImage(image: coro.logo)
var blurfilter = CIFilter(name: "CIGaussianBlur")
blurfilter.setValue(imageToBlur, forKey: "inputImage")
blurfilter.setValue(2, forKey: "inputImage")
var resultImage = blurfilter.valueForKey("outputImage") as! CIImage
var blurredImage = UIImage(CIImage: resultImage)
self.immagineCoro.image = blurredImage

导入CoreImage框架,但是Xcode在第5行显示了一个错误("NSInvalidArgumentException"),谁能帮我实现gaussianBlur和CIFilter呢?

编辑:谢谢你们两位,但我还有另外一个问题,我只需要对这张图片的一小部分进行模糊处理。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-26 01:11:22

你用过两次inputImage。第二次可能是inputRadius

票数 3
EN

Stack Overflow用户

发布于 2015-08-26 01:19:49

我刚刚尝试了您的代码,下面是我建议的修改,这是有效的:

代码语言:javascript
复制
    let fileURL = NSBundle.mainBundle().URLForResource("th", withExtension: "png")
    let beginImage = CIImage(contentsOfURL: fileURL)
    var blurfilter = CIFilter(name: "CIGaussianBlur")
    blurfilter.setValue(beginImage, forKey: "inputImage")
    //blurfilter.setValue(2, forKey: "inputImage")
    var resultImage = blurfilter.valueForKey("outputImage") as! CIImage
    var blurredImage = UIImage(CIImage: resultImage)
    self.profileImageView.image = blurredImage

所以,把上面看到的部分注释掉,我就像预期的那样得到了一个模糊的图像。我正在使用文件路径,但这与您所拥有的没有什么不同。

票数 4
EN

Stack Overflow用户

发布于 2016-01-10 10:55:14

您可能需要创建一个CIImage灰度掩码图像,其形状为您想要的形状,一个模糊的CIImage (使用CIGaussianBlur),然后使用CIBlendWithMask将它们混合在一起。

CIBlendWithMask的输入是输入图像(模糊图像)、输入背景图像(非模糊图像)和掩码图像(您想要的形状)。输出是你想要的图像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32216432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档