gpt4 book ai didi

objective-c - 将 CIImage 模糊为 CALayer 内容图像

转载 作者:搜寻专家 更新时间:2023-10-30 20:08:34 25 4
gpt4 key购买 nike

我正在使用波纹管代码进行图像模糊处理。 'resultImage' 显示了模糊的图像,但是当我把它放在 CALayer 内容上时,它什么也没显示。

CIImage *imageToBlur = [CIImage imageWithCGImage:image.CGImage];
CIFilter *gaussianBlurFilter = [CIFilter filterWithName: @"CIGaussianBlur"];
[gaussianBlurFilter setValue:imageToBlur forKey: @"inputImage"];
[gaussianBlurFilter setValue:[NSNumber numberWithFloat: 10] forKey: @"inputRadius"];
CIImage *resultImage = [gaussianBlurFilter valueForKey: @"outputImage"];
self.contents = resultImage;

最佳答案

你不能使用 CIImage 作为 CALayer 的内容。可能有一些 VRM问题。我不再关心它了。顺便说一下,您可以使用 CGImageRef 而不是 CIImage。根据您的代码,您可以做的事情...

CIImage *imageToBlur = [CIImage imageWithCGImage:image.CGImage];
CIFilter *gaussianBlurFilter = [CIFilter filterWithName: @"CIGaussianBlur"];
[gaussianBlurFilter setValue:imageToBlur forKey: @"inputImage"];
[gaussianBlurFilter setValue:[NSNumber numberWithFloat: 10] forKey: @"inputRadius"];
CIImage *resultImage = [gaussianBlurFilter valueForKey: @"outputImage"];
CIContext *cont = [CIContext contextWithOptions:nil];
CGImageRef img = [cont createCGImage:resultImage fromRect:CGRectMake(0, 0, image.size.width, image.size.height)];
self.contents = (__bridge id)img;

希望一切顺利!

关于objective-c - 将 CIImage 模糊为 CALayer 内容图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42576698/

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