Swift - 实现图片的模糊效果(高斯模糊滤镜)

1,效果图

通过滑动滑块,设置不同的模糊半径来实现不同的模糊程度。
原文:Swift - 实现图片的模糊效果(高斯模糊滤镜) 原文:Swift - 实现图片的模糊效果(高斯模糊滤镜) 原文:Swift - 实现图片的模糊效果(高斯模糊滤镜)

2,样例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import  UIKit
 
class  ViewController UIViewController  {
     
     @IBOutlet  weak  var  imageView:  UIImageView !
     
     @IBOutlet  weak  var  slider:  UISlider !
     
     //原图
     lazy  var  originalImage:  UIImage  = {
         return  UIImage (named:  "image1.jpg" )
         }()!
     
     lazy  var  context:  CIContext  = {
         return  CIContext (options:  nil )
     }()
     
     override  func  viewDidLoad() {
         super .viewDidLoad()
     }
     
     //滑块拖动后
     @IBAction  func  sliderValueChanged(_ sender:  AnyObject ) {
         //获取原始图片
         let  inputImage =   CIImage (image: originalImage)
         //使用高斯模糊滤镜
         let  filter  CIFilter (name:  "CIGaussianBlur" )!
         filter .setValue(inputImage, forKey:kCIInputImageKey)
         //设置模糊半径值(越大越模糊)
         filter .setValue(slider.value, forKey: kCIInputRadiusKey)
         let  outputCIImage =  filter .outputImage!
         let  rect =  CGRect (origin:  CGPoint .zero, size: originalImage.size)
         let  cgImage = context.createCGImage(outputCIImage, from: rect)
         //显示生成的模糊图片
         imageView.image =  UIImage (cgImage: cgImage!)
     }
     
     override  func  didReceiveMemoryWarning() {
         super .didReceiveMemoryWarning()
     }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值