2

我想快速为 UIView 上的模糊设置动画,以用作我的应用程序中的过渡。我不知道从哪里开始。我相信核心形象是完成这项工作的合适工具。谁能指出我如何模糊 UIView 的示例?我假设我需要将视图转换为单个 UIImage,但我不知道从那里开始。

提前致谢!

4

3 回答 3

9

拍摄视图的快照并使用 Brad Larson 的 GPUImage(GPUImageGaussianBlurFilter)让我得到了一些不错的结果。

为了使视图动画化,我创建了一个带有模糊图像的 ImageView 并将 alpha 通道从 0 设置为 1 以使模糊逐渐出现。

或者,我认为可以增加每帧的模糊大小。

#import "GPUImage.h"
...
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
...
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
...
GPUImageGaussianBlurFilter * filter = [[GPUImageGaussianBlurFilter alloc] init];
filter.blurSize = 0.5;
UIImage * blurred = [filter imageByFilteringImage:image];
于 2013-04-30T16:56:36.760 回答
4

一个uiview层的rasterizeScale是你所需要的,这里是为UIVIew添加模糊效果的代码:

CALayer *layer = [self.blurView layer];
[layer setRasterizationScale:0.3];
[layer setShouldRasterize:YES];

有关详细信息,请参阅CALayer 的 Apple 文档,本教程也可能对您有所帮助,希望对您有所帮助

于 2012-11-03T15:51:59.233 回答
3

我最近做了一些测试,在不同的模糊设置下模糊了一系列图像,并简单地使用 UIImageView 为它们设置动画。你可能想看看:

动画高斯模糊

于 2013-04-14T20:06:38.260 回答