Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用GPUImage复制applyExtraLightEffect iOS7模糊_Ios_Objective C_Image Processing_Ios7_Gpuimage - Fatal编程技术网

使用GPUImage复制applyExtraLightEffect iOS7模糊

使用GPUImage复制applyExtraLightEffect iOS7模糊,ios,objective-c,image-processing,ios7,gpuimage,Ios,Objective C,Image Processing,Ios7,Gpuimage,我遵循了这一点。然而,我正在寻找的效果是由在苹果的示例代码()中产生的效果 我使用的是gpuimageiossblurfilter,如下所示: UIImage *image = [view renderSnapshotImage]; if (!self.blurFilter) { self.blurFilter = [[GPUImageiOSBlurFilter alloc] init]; self.blurFilter.blurRadiusInPixels = 20.0f;

我遵循了这一点。然而,我正在寻找的效果是由在苹果的示例代码()中产生的效果

我使用的是
gpuimageiossblurfilter
,如下所示:

UIImage *image = [view renderSnapshotImage];

if (!self.blurFilter) {
    self.blurFilter = [[GPUImageiOSBlurFilter alloc] init];
    self.blurFilter.blurRadiusInPixels = 20.0f;
    self.blurFilter.saturation = 1.8f;
}

GPUImagePicture *picture = [[GPUImagePicture alloc] initWithImage:image];
[picture addTarget:self.blurFilter];
[self.blurFilter addTarget:self.blurView];

[picture processImageWithCompletionHandler:^{
    [self.blurFilter removeAllTargets];
}];
为了用GPUImage重建完整的效果,我需要混合一种色彩,这是在UIImage+ImageEffects中完成的

// Add in color tint.
if (tintColor) {
    CGContextSaveGState(outputContext);
    CGContextSetFillColorWithColor(outputContext, tintColor.CGColor);
    CGContextFillRect(outputContext, imageRect);
    CGContextRestoreGState(outputContext);
}

所以本质上我需要一个GPUImage过滤器来混合纯色,但我不知道我需要哪一个,或者如何使用它。感谢您的帮助:)

因为他们所做的只是覆盖该颜色,所以输入带有过滤器输出的GPUImageOverlayBlendFilter的GPUImageSolidColorGenerator应该完全复制该颜色,但您可能只需要一个简单的亮度过滤器就可以接近它。或者,您可以创建自己的自定义过滤器,以根据给定的颜色和强度进行着色。非常好,谢谢Brad。@BradLarson我不知道添加各种目标的顺序,这里是我所拥有的:您需要模糊过滤器和颜色生成器来定位叠加混合(首先将模糊过滤器指向混合,然后指向颜色生成器)。颜色生成器不接受任何输入,但您必须使用-forceProcessingAtSize:将其大小设置为与输入图像的大小相匹配。同样,覆盖色调的自定义过滤器的性能更高,最后使用时更干净。