gpt4 book ai didi

ios - 高斯模糊滤镜反转 : iOS

转载 作者:可可西里 更新时间:2023-11-01 04:42:12 29 4
gpt4 key购买 nike

我正在为一个应用做高斯模糊。

    //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];

效果很好,但我希望能够反转它并使 View 恢复正常。

我该怎么做,因为尝试简单地从它的 super View 中删除模糊的 View 是行不通的。我也尝试过将各种属性设置为 nil 但没有成功。

最佳答案

在属性中保留指向 viewImage 的指针

@property (nonatomic, strong) UIImage* originalImage;

之后

UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();

添加

self.originalImage = viewImage;

还原图像:

newView.image = self.originalImage;

当您应用模糊时,它不会改变 viewImage。您已经创建了一个单独的 CIImage,它变得模糊,并且您从模糊的 CIImage 中创建了一个新的 UIImage。

关于ios - 高斯模糊滤镜反转 : iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14516032/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com