我是开发iOS应用程序的新手。 我会问,是否有应用GPUImage过滤器的标准代码?
非常感谢您的回答。
过滤错误:
Undeclared Indentifier(错误:使用未声明的标识符' brightnessFilter'):
答案 0 :(得分:0)
我可以举一个适合我的例子。这是我在UIImage上创建的一个类别,它将GPUImage的GPUImageGaussianBlurFilter
和GPUImageBrightnessFilter
链接在一起:
- (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。
希望这至少能指出你正确的方向。