相关疑难解决方法(0)

CIFilter无法正常工作,返回null图像

嘿所有我一直在使用一些过滤器.并非所有这些似乎都能正常工作,例如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?

iphone core-graphics ios ios5

3
推荐指数
1
解决办法
4313
查看次数

标签 统计

core-graphics ×1

ios ×1

ios5 ×1

iphone ×1