iOS --- 获取UIView的模糊效果截图

来源:互联网 发布:mac怎么设置ppt母版 编辑:程序博客网 时间:2024/05/20 06:23

我们常见到一些APP中对指定UIView区域进行模糊处理的效果。实现此效果,需要用到UIView截图和UIImage的ImageEffects扩展。

添加UIView

aView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height / 2)];UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, aView.frame.size.width / 2, aView.frame.size.height / 2)];imageView1.image = [UIImage imageNamed:@"Model.jpg"];[aView addSubview:imageView1];UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(aView.frame.size.width / 2, aView.frame.size.height / 2, aView.frame.size.width / 2, aView.frame.size.height / 2)];imageView2.image = [UIImage imageNamed:@"Model2.jpg"];[aView addSubview:imageView2];[self.view addSubview:aView];

截取UIView内容并进行模糊处理

- (UIImage *)blurUIView:(UIView *)view {    UIGraphicsBeginImageContext(view.frame.size);    [view drawViewHierarchyInRect:view.frame afterScreenUpdates:NO];    UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();    return [snapshot applyLightEffect];}

注意,[view drawViewHierarchyInRect:view.frame afterScreenUpdates:NO];是非常常见的UIView截屏方法。

效果图

这里写图片描述

Demo

Demo地址: DemoUIVisualEffect

0 0
原创粉丝点击