前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【iOS开发】快速生成高斯模糊效果背景

【iOS开发】快速生成高斯模糊效果背景

作者头像
KyXu
发布2019-04-11 16:18:28
2.7K0
发布2019-04-11 16:18:28
举报
文章被收录于专栏:KyXuKyXu

这篇文章是上一篇文章 http://www.jianshu.com/p/c9083a105921 的拓展,不罗嗦了,直接上代码。

代码语言:javascript
复制
//创建毛玻璃效果的背景
func createFrostBackground (img:UIImage,view:UIView) {
    let w = self.view.frame.width
    let h = self.view.frame.height
    let blurImageView = UIImageView(frame: CGRectMake(-w/2, -h/2, 2*w, 2*h)) //模糊背景是界面的4倍大小
    blurImageView.contentMode = UIViewContentMode.ScaleAspectFill
    blurImageView.image = img
    //创建毛玻璃效果层
    let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light)) as UIVisualEffectView
    visualEffectView.frame = blurImageView.frame
    //添加毛玻璃效果层
    blurImageView.addSubview(visualEffectView)
    self.view.insertSubview(blurImageView, belowSubview: view)
}

这个 Swift 函数可以帮你创造出一个带模糊效果的背景。

思路和上一篇大体是一样的,传入一个img参数作为背景图片,模糊处理后作为一个imageView插入在传入的view参数这个UIView的下方。

但是真正做了模糊处理的只有下面这一句

let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light)) as UIVisualEffectView

本质是其实是把你传入的Image,放到ImageView里面,再给ImageView加一个有模糊特性的SubView,让它看起来很模糊,并没有真正地处理原图。

相比上一篇文章中的方法,

【优点】:性能提升好几倍,毕竟只是加了一层View,而没有真正意义的图片处理。

【缺点】:UIBlurEffectStyle只有Light、Dark、ExtraLight三个属性可以选,而不像之前可以任意设置高斯模糊的半径。

感谢:徐小雷同学的指导

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015.08.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图片处理
图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档