将GPUImage过滤器应用于UIView

Dim*_*ani 4 filter effect ios gpuimage

我有一个问题.我需要应用一个类似于Pixelate or Blur整个过滤器UIView.喜欢的eBay iPad应用程序.

我想用,GPUImage但我不知道怎么做.有一种方法可以GPUImageView直接应用过滤器而不通过a UIImage

主要问题是UIViewiPad3日制作大型屏幕截图是昂贵的(UIWindow抓取时间为2秒).因此,完美的解决方案是直接将过滤器应用于视图,就像eBay应用程序一样,但是......如何?

谢谢大家!

Bra*_*son 8

要将视图拉入GPUImage,可以使用GPUImageUIElement源,它将UIView或CALayer作为输入.FilterShowcase示例应用程序中有一个示例.

这确实依赖于-renderInContext:底层CALayer 的方法,这对于重绘视图来说可能很昂贵.但是,如果视图是静态的,您只需要使用此更新一次,结果图像将作为纹理缓存在GPU上.在该点之后应用于它的过滤器操作将非常快.