使用GPUImage的模糊的视图动画

时间:2015-07-24 08:45:57

标签: ios animation blur gpuimage

我目前尝试在视图中添加模糊动画以进行过渡。 我正在使用实现GPUImage的{​​{1}}框架。

它有效,但效果适用于滤镜不够强。我尝试使用GPUImageGaussianBlurFilter值,但似乎不会改变我尝试放置的任何值。

这是我的代码:

filter.blurRadiusInPixels

enter image description here

3 个答案:

答案 0 :(得分:1)

如果您只想在通知中心(我建议您这样做)看起来像iOS模糊,那么从iOS8开始,UIView有很好的扩展名为UIVisualEffectView。

有一些链接可以帮助您逐步实施该杰作:

当然,这仅适用于iOS8,因此它可能无法用于您,但我会将其放在其他会搜索类似解决方案的位置。

答案 1 :(得分:0)

我发现:价值必须低于20,我重新订购一些代码。

代码:

UIImageView * blurredArea = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
blurredArea.alpha = 0;

UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * snapshot =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

GPUImageGaussianBlurFilter * filter = [[GPUImageGaussianBlurFilter alloc] init];
filter.blurRadiusInPixels = 12;
UIImage * blurred = [filter imageByFilteringImage: snapshot];
blurredArea.image = blurred;


[blurredArea addSubview:_frameForLogoAnimation];

结果看起来很棒!

答案 2 :(得分:0)

我希望它有所帮助......

如果你想应用修正值,你可以根据你的要求在GPUImageGaussianBlurFilter.m文件中更改blurRadiusInPixels的值。