我有问题。我需要对Pixelate or Blur
整个UIView
. 喜欢eBay iPad
应用程序。
我想用GPUImage
,但我不知道怎么做。有一种方法可以直接将过滤器应用于 aGPUImageView
而不通过 a UIImage
?
主要问题是UIView
在iPad
3 号上制作大屏幕截图非常昂贵(UIWindow
抓取时间为 2 秒)。所以完美的解决方案是直接将过滤器应用于视图,就像 eBay 应用程序一样,但是.. 怎么样?
谢谢大家!
要将视图拉入 GPUImage,您可以使用 GPUImageUIElement 源,该源将 UIView 或 CALayer 作为输入。FilterShowcase 示例应用程序中有一个示例。
这确实依赖于-renderInContext:
底层 CALayer 的方法,这对于重绘视图可能很昂贵。但是,如果视图是静态的,您只需使用此更新一次,生成的图像将作为纹理缓存在 GPU 上。在那之后应用到它的过滤器操作将非常快。
您可以通过将CIFilter
s 应用于您的 viewslayer.filters
属性来实现您所追求的外观。查看文档以获取更多信息:
也许这适合你?没有尝试过,但在一篇文章中读到过一次:
抱歉,我再次阅读了你的帖子,这个扩展是关于模糊 UIImage 的,你说这是你不想要的东西......好吧,如果人们去谷歌搜索模糊图像,我还是把它留在这里..对不起 :(