GPUImage:较暗的iOS 7模糊效果

我需要一个可靠,高效的方法来创buildiOS 7模糊效果。 我已经从WWDC代码实现了Apple的applyBlurWithRadius (UIImage+ImageEffects) 。 它实际上是非常灵活的,它允许更改tintColor也提供了创build一个像这样一个黑暗的模糊效果:

黑暗的ios 7模糊

但它依赖于核心graphics,它正在降低表格视图中的滚动性能。 然后我看到了BradLarson的GPUImage库 ,它是GPUImageiOSBlurFilter方法,它复制了iOS 7的效果,它的工作速度比UIImage+ImageEffects ,所以它在我看来更加实用。

但问题是,它没有像tintColor这样的参数。 它创造像这里一样的效果。 还有其他GPUImage的filter,但我不知道我可以得到我想要的效果。

正如我在这里的评论中所描述的那样,GPUImageIOSBlurfilter提供的“白化”效果是由于我在该操作的最后一步应用的亮度范围限制造成的。 滤波器本身就是一个分组滤波器,图像首先被去饱和,下采样,高斯模糊,然后上采样,亮度范围被限制在最后一步。

最后一步是使用GPUImageLuminanceRangeFilter执行的,我使用这个GPUImageLuminanceRangeFilter来复制Apple似乎适用于大部分覆盖模糊的确切效果。 他们似乎在别人使用不同的颜色效果,所以模仿,你会想要改变filter的最后一步。

我可能会让用户以后可以将其指定为浅色,但现在,您可以基于GPUImageiOSBlurFilter和GPUImageLuminanceRangeFilter创build自定义滤镜,然后更改GPUImageLuminanceRangeFilter的实现,以将最终颜色更改为比最终颜色更深的颜色正常提供。 您将不得不尝试片段着色器中的值来查看产生所需效果的内容。

其他人已经做到了这一点,取得了良好的效果,但是还没有人把它作为一个拉动的要求。