Ben*_*ong 3 iphone core-graphics ios ios5
嘿所有我一直在使用一些过滤器.并非所有这些似乎都能正常工作,例如CISepiaTone和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; }
Run Code Online (Sandbox Code Playgroud)
我实际上从今年的techtalk世界巡演中得到了这个代码,它适用于CISepiaTone,但它只是没有用于cigloom.cicolorposterize,ciedges和其他一些.任何人都知道为什么?或者如何绕过这个NUll IMAGE?
小智 5
在iOS上,目前还不支持CIGloom以及其他您遇到过问题的人.您可以使用此数组结果检查可用的过滤器:
NSArray *supportedFilters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4313 次 |
| 最近记录: |