我想快速为 UIView 上的模糊设置动画,以用作我的应用程序中的过渡。我不知道从哪里开始。我相信核心形象是完成这项工作的合适工具。谁能指出我如何模糊 UIView 的示例?我假设我需要将视图转换为单个 UIImage,但我不知道从那里开始。
提前致谢!
我想快速为 UIView 上的模糊设置动画,以用作我的应用程序中的过渡。我不知道从哪里开始。我相信核心形象是完成这项工作的合适工具。谁能指出我如何模糊 UIView 的示例?我假设我需要将视图转换为单个 UIImage,但我不知道从那里开始。
提前致谢!
拍摄视图的快照并使用 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];
一个uiview层的rasterizeScale是你所需要的,这里是为UIVIew添加模糊效果的代码:
CALayer *layer = [self.blurView layer];
[layer setRasterizationScale:0.3];
[layer setShouldRasterize:YES];
有关详细信息,请参阅CALayer 的 Apple 文档,本教程也可能对您有所帮助,希望对您有所帮助
我最近做了一些测试,在不同的模糊设置下模糊了一系列图像,并简单地使用 UIImageView 为它们设置动画。你可能想看看: