【问题标题】:Create a CI Filter Chain创建 CI 过滤器链
【发布时间】:2014-04-06 15:29:01
【问题描述】:

如何获得组合 GI 滤镜效果。我想将 CISepiTone 与 CIPhotoEffectMono 结合起来。目前我有这样的过滤器。

case 1:{
        filter = [CIFilter filterWithName:@"CISepiaTone" keysAndValues: kCIInputImageKey, beginImage, @"inputIntensity", [NSNumber numberWithFloat:0.8], nil];
        break;
}

【问题讨论】:

    标签: objective-c xcode core-image


    【解决方案1】:

    Apple 在其文档中提供了详细示例 :https://developer.apple.com/library/ios/documentation/graphicsimaging/Conceptual/CoreImaging/ci_tasks/ci_tasks.html

    基本上,您将一个过滤器的输出设置为下一个过滤器的输入,然后以这种方式创建一个链。来自苹果:

    CIFilter *gloom = [CIFilter filterWithName:@"CIGloom"];
    [gloom setDefaults];                                        
    [gloom setValue: result forKey: kCIInputImageKey];
    [gloom setValue: @25.0f forKey: kCIInputRadiusKey];         
    [gloom setValue: @0.75f forKey: kCIInputIntensityKey];      
    CIImage *result = [gloom valueForKey: kCIOutputImageKey];            
    

    第二个过滤器使用结果作为输入

    CIFilter *bumpDistortion = [CIFilter filterWithName:@"CIBumpDistortion"];
    [bumpDistortion setDefaults];                                               
    [bumpDistortion setValue: result forKey: kCIInputImageKey];
    [bumpDistortion setValue: [CIVector vectorWithX:200 Y:150]
                    forKey: kCIInputCenterKey];                              
    [bumpDistortion setValue: @100.0f forKey: kCIInputRadiusKey];                
    [bumpDistortion setValue: @3.0f forKey: kCIInputScaleKey];                   
    result = [bumpDistortion valueForKey: kCIOutputImageKey];
    

    【讨论】:

      猜你喜欢
      • 2011-03-08
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多