【发布时间】:2011-12-28 04:51:21
【问题描述】:
大家好,我一直在使用一些过滤器。并非所有这些似乎都能正常工作,例如 CISepiTone 和 CIHueAdjust。 最近我尝试了 CIGLoom 过滤器,它返回一个空图像。
-(UIImage*)getGloom:(UIImage*)anImage{
CGImageRef cgimage = anImage.CGImage;
CIImage *cimage = [CIImage imageWithCGImage:cgimage];
CIFilter *filter = [CIFilter filterWithName:@"CIGloom"];
[filter setDefaults];
[filter setValue: cimage forKey: @"inputImage"];
[filter setValue: [NSNumber numberWithFloat: 25]
forKey: @"inputRadius"];
[filter setValue: [NSNumber numberWithFloat: 0.75]
forKey: @"inputIntensity"];
CIContext *context = [CIContext contextWithOptions:nil];
CIImage *ciimage = [filter outputImage];
CGImageRef cgimg = [context createCGImage:ciimage fromRect:[ciimage extent]];
UIImage *uimage = [UIImage imageWithCGImage:cgimg scale:1.0f orientation:UIImageOrientationUp];
CGImageRelease(cgimg);
return uimage; }
我实际上是从今年的 techtalk 世界巡回演唱会中获得了这个代码,它适用于 CISepiaTone,但它对 cigloom 无效。 cicolorposterize、ciedges 和其他一些。有人知道为什么吗?或者如何绕过这个 NULL IMAGE?
【问题讨论】:
标签: iphone ios ios5 core-graphics