4

我有问题。我需要对Pixelate or Blur整个UIView. 喜欢eBay iPad应用程序。

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

主要问题是UIViewiPad3 号上制作大屏幕截图非常昂贵(UIWindow抓取时间为 2 秒)。所以完美的解决方案是直接将过滤器应用于视图,就像 eBay 应用程序一样,但是.. 怎么样?

谢谢大家!

4

3 回答 3

8

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

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

于 2012-12-22T03:43:43.913 回答
1

您可以通过将CIFilters 应用于您的 viewslayer.filters属性来实现您所追求的外观。查看文档以获取更多信息:

https://developer.apple.com/library/mac/#documentation/graphicsimaging/reference/CALayer_class/Introduction/Introduction.html

于 2012-12-20T10:50:07.553 回答
0

也许这适合你?没有尝试过,但在一篇文章中读到过一次:

堆栈模糊

抱歉,我再次阅读了你的帖子,这个扩展是关于模糊 UIImage 的,你说这是你不想要的东西......好吧,如果人们去谷歌搜索模糊图像,我还是把它留在这里..对不起 :(

于 2012-12-20T08:52:28.247 回答