GPUImage应用过滤器

时间:2014-04-13 20:10:00

标签: objective-c filter gpuimage

我是开发iOS应用程序的新手。 我会问,是否有应用GPUImage过滤器的标准代码?

非常感谢您的回答。

过滤错误: enter image description here

Undeclared Indentifier(错误:使用未声明的标识符' brightnessFilter'): enter image description here

1 个答案:

答案 0 :(得分:0)

我可以举一个适合我的例子。这是我在UIImage上创建的一个类别,它将GPUImage的GPUImageGaussianBlurFilterGPUImageBrightnessFilter链接在一起:

- (UIImage *)imageWithGaussianBlur:(UIImage *)image {

    // pass the image through a brightness filter to darken a bit and a gaussianBlur filter to blur
    GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:image];

    GPUImageGaussianBlurFilter *blurFilter = [[GPUImageGaussianBlurFilter alloc] init];
    blurFilter.blurRadiusInPixels = 2;
    blurFilter.blurPasses = 1;
    [stillImageSource addTarget:blurFilter];

    GPUImageBrightnessFilter *brightnessFilter = [[GPUImageBrightnessFilter alloc] init];
    [brightnessFilter setBrightness:-0.15f];
    [blurFilter addTarget:brightnessFilter];

    [stillImageSource processImage];
    return [brightnessFilter imageFromCurrentlyProcessedOutputWithOrientation:UIImageOrientationUp];

}

您一次只能使用一个过滤器。如果是这种情况,请忽略以GPUImageBrightnessFilter开头的3行。您可以通过搜索“执行常见任务”并向下滚动来查找更多信息:https://github.com/BradLarson/GPUImage/blob/master/README.md

我想指出将第二个过滤器作为目标添加到第一个过滤器的概念,因为它起初对我来说有点棘手。您可能会达到一次要使用多个点的程度。请参阅Brad Larson(GPUImage的创建者)的评论:https://github.com/BradLarson/GPUImage/issues/233

希望这至少能指出你正确的方向。