iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了高斯模糊滤镜逆转:iOS大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有一个高斯模糊,我正在为一个应用程序做. //Get a UIImage from the UIView UIGraphicsBeginImageContext(self.view.bounds.sizE); [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *viewImag
我有一个高斯模糊,我正在为一个应用程序做.

//Get a UIImage from the UIView
    UIGraphicsBeginImageContext(self.view.bounds.sizE);
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    //Blur the UIImage
    CIImage *imageToBlur = [CIImage imageWithCGImage:viewImage.CGImage];
    CIFilter *gaussianBlurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
    [gaussianBlurFilter SETVALue:imageToBlur forKey:@"inputImage"];
    [gaussianBlurFilter SETVALue:[NSnumber numberWithFloat:2] forKey:@"inpuTradius"];
    CIImage *resultImage = [gaussianBlurFilter valueForKey:@"outputImage"];
    UIImage *endImage = [[UIImage alloc] initWithCIImage:resultImage];

    //Place the UIImage in a UIImageView
    newView = [[UIImageView alloc] initWithFrame:self.view.bounds];
    newView.image = endImage;
    [self.view addSubview:newView];

它工作得很好,但我希望能够将其反转并使视图恢复正常.

我怎么能这样做,因为试图简单地从它的超视图中移除模糊的视图不起作用.我也尝试过将各种属性设置为零而没有运气.

解决方法

属性中保留指向viewImage的指针

@property (nonatomic,strong) UIImage* originalImage;

然后

UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();

self.originalImage = viewImage;

要还原您的图像:

newView.image = self.originalImage;

当你应用模糊时它不会改变viewImage ..你创建了一个单独的CIImage,它变得模糊,你从模糊的CIImage中创建一个新的UIImage.

大佬总结

以上是大佬教程为你收集整理的高斯模糊滤镜逆转:iOS全部内容,希望文章能够帮你解决高斯模糊滤镜逆转:iOS所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。