iOS对视图进行动画模糊



我想快速对Uiview上的模糊进行动画,以用作我的应用程序中的过渡。我很难知道从哪里开始。我相信核心图像是工作的正确工具。谁能将我指向如何模糊Uiview的样本?我假设我需要将视图转换为单个uiimage,但我不知道从那里继续前进。

预先感谢!

拍摄视图快照,并使用布拉德·拉尔森(GpuimageGaussianblurfilter)的GPUIMAGE,给了我一些不错的结果。

为了使视图动画,我创建了一个使用模糊图像的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];

您需要的uiview层的rasterizesscale,这是将模糊效果添加到uiview的代码:

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

有关详细信息,请参阅Calayer的Apple文档,本教程也可能会为您提供帮助,希望可以帮助

我最近进行了一些测试,并在不同的模糊设置上模糊了一系列图像,并简单地使用uiimageview对它们进行动画。您可能想看看:

AnimatedGaussianblur

最新更新