-2

我正在尝试将漫画效果应用于 iOS 中的照片。我用谷歌搜索了很多东西,但找到了很多东西。我已经检查了https://github.com/BradLarson/GPUImage以获得图像的草图,以便我可以在草图上应用各种过滤器。但还是卡在了里面。我已经看到此链接还使用 Obj C 中的 Brad Larson GPUImage 为照片创建草图效果,但无法为其获得正确的组合。如果您发现类似的东西,请帮助我。

提前致谢。

4

1 回答 1

1

我从未听说过漫画过滤器是 iOS 的一部分。这可能是一个定制设计。然而,有大量内置过滤器是 iOS 的一部分。运行这个小脚本以获得 iOS6 中所有 CoreImage 过滤器部分的完整列表:

NSArray *ciFilters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
for (NSString *filter in ciFilters) {
NSLog(@"filter name %@", filter);
NSLog(@"filter %@", [[CIFilter filterWithName:filter] attributes]);
}

并记住将 CoreImage 添加到您的项目框架中。

编辑:试试这个功能作为边缘检测过滤器:

-(CIImage *)simpleEdgeDetection:(CIImage *)inputImage {
CIFilter *desaturate = [CIFilter filterWithName:@"CIColorControls"];
[desaturate setValue:inputImage forKey:kCIInputImageKey];
[desaturate setValue:@0.0f forKey:@"inputSaturation"];
CIFilter *blur = [CIFilter filterWithName:@"CIGaussianBlur"];
[blur setValue:desaturate.outputImage forKey:kCIInputImageKey];
[blur setValue:@3.0f forKey:@"inputRadius"];
CIFilter *inverted = [CIFilter filterWithName:@"CIColorInvert"];
[inverted setValue:blur.outputImage forKey:kCIInputImageKey];
CIFilter *blendDodge = [CIFilter filterWithName:@"CIColorDodgeBlendMode"];
[blendDodge setValue:inverted.outputImage forKey:kCIInputBackgroundImageKey];
[blendDodge setValue:desaturate.outputImage forKey:kCIInputImageKey];
CIFilter *blendBurn = [CIFilter filterWithName:@"CIColorDodgeBlendMode"];
[blendBurn setValue:blendDodge.outputImage forKey:kCIInputImageKey];
[blendBurn setValue:inputImage forKey:kCIInputBackgroundImageKey];
return blendBurn.outputImage;

}

它来自 iOS6 教程 - www.raywenderlich.com

于 2013-05-27T13:12:55.947 回答