【问题标题】:A light blur effect?灯光模糊效果?
【发布时间】:2016-01-02 23:46:22
【问题描述】:

我想要一个光模糊效果,你仍然可以以某种方式识别图像,甚至可以调整它。

我以前有苹果的:

UIVisualEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleExtraLight];
alphaView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];

这不是真正的“轻”,但非常强,因此您再也看不到图像了。

我宁愿不使用外部 3rd 课程,因为根据我的经验,它们会成为问题。

我还记得Apple曾经有一个类叫做:UIIMAGE+BLUR,在UIVisualEffectView之前可以让你调整东西。 它仍然有效且被 App Store 接受吗?

【问题讨论】:

  • 关于effectWithStyle:UIBlurEffectStyleExtraLight的用法:这不是指模糊的强度,而是最终图像的色调。其他两种样式也是如此,它们都以相同的方式模糊,只是色调不同。
  • 非常感谢,那么实际上我该怎么做才能达到我想要的效果?
  • 还不确定,我正在研究一下,我刚刚告诉你的只是阅读文档几秒钟的结果。

标签: ios objective-c uiview


【解决方案1】:

我知道还有另外两个选项。

一种是使用Accelerate框架,手动做(我想你指的就是这个UIIMAGE+BLUE):https://developer.apple.com/library/ios/samplecode/UIImageEffects/Introduction/Intro.html

更简单的选择是使用 CoreImage 的高斯模糊。这里的问题中有一些示例代码:CIGaussianBlur image size

【讨论】:

  • 是的!第二个是我要找的! Appstore 仍然有效并且可以接受吗?我知道 UIVisualEffect 代替了这个“低级”。
  • 它没有被弃用,所以我不明白为什么不这样做。该线程听起来更像是 Beta 版中的错误,而不是任何迹象表明它正在被删除。
  • 添加了 UIVisualEffect 以公开一些在 iOS 7 中使用的私有 Apple API。它并非旨在取代 CoreImage 或 Accelerate,因为它们都提供了更多选项(尽管有时处理时间更长权衡)