iOS8 毛玻璃效果

来源:互联网 发布:ar制作软件 编辑:程序博客网 时间:2024/04/30 01:33

iOS8毛玻璃效果

怎么做到模糊

模糊的对象是图片,想要实现模糊,你需要对图片中的每一个像素使用模糊算法,这样会得到一个对原图进行了均匀模糊后的图片。模糊算法可以在模糊的风格和模糊的复杂度上有很多变化,不过在这个教程里你将会运用到一个最为常见而且颇为出名的算法——高斯模糊。

模糊算法通常会检索图片的每一个像素点并基于它周围的像素点来计算该像素在模糊后的灰度值。比如,我们想象一张如下所示网格图:

每一个小格子代表了一个独立的像素,每个像素点有一个介于1和10之间的值。假设我们要对中心的像素点进行模糊化,那就需要计算四周八个像素中的值的算术平均数,并将这个数作为中心像素的值插入进去。结果如下图:

接着对原图的每一个像素点都重复同样的操作(编者按:原图中每一个像素的新值应该插入到一张新图片相应位置的像素中去以免出现错误,原图的像素值依旧不变,原作者并未提示这一点)。 俩种实现毛玻璃的效果

1是通过静态绘制 http://pan.baidu.com/s/1hqxRdsw

2是通过ios8 的UIKit实现 [http://pan.baidu.com/s/1hqoxDIG]

self.tableView.backgroundColor = [UIColor clearColor]; UIImageView* imv = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"11.jpg"]]; imv.contentMode = UIViewContentModeScaleAspectFill; self.tableView.backgroundView = imv;

//分割线模糊效果/*UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];UIVibrancyEffect *vibrancyEffect = [UIVibrancyEffect effectForBlurEffect:blurEffect];self.tableView.separatorEffect = vibrancyEffect; */UIVisualEffectView* visualEfView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleExtraLight]];visualEfView.frame = CGRectMake(0, 0, 320, 210);visualEfView.alpha = 1;[self.tableView addSubview:visualEfView];UIVisualEffectView* visualEfView1 = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]];visualEfView1.frame = CGRectMake(0, 210, 320, 210);visualEfView1.alpha = 1;[self.tableView addSubview:visualEfView1];UIVisualEffectView* visualEfView2 = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]];visualEfView2.frame = CGRectMake(0, 420, 320, 210);visualEfView2.alpha = 1;[self.tableView addSubview:visualEfView2];效果如图



PS: 这是接受委托转载的博客,原作者网站地址:http://www.zero1993.com/xcodeuse.html

本人菜鸟,有疑问请直接联系大神!


0 0
原创粉丝点击