2017-03-03 3 views
3

私は画像のぼかしのために蛇のコードを使用しています。 'resultImage'はぼやけた画像を表示しますが、CALayerのコンテンツに置くと何も表示されません。あなたがCALayerのコンテンツとしてCIImage使用cantn'tCALayerとしてのぼかし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"]; 
self.contents = resultImage; 

答えて

2

VRM号がある可能性があります。私はそれについてもう解りません。ところでCIImageの代わりにCGImageRefを使用することができます。あなたのコードに基づいてあなたができることを...

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; 

私はうまくいきたいです!

関連する問題