Core Image是一个强大的滤镜处理框架。它除了可以直接给图片添加各种内置滤镜,还能精确地修改鲜艳程度, 色泽, 曝光等,下面通过两个样例演示如何给UIImage添加滤镜。

1,棕褐色滤镜  - CISepiaTone
这个有点复古老照片发黄的效果(上面一张是原图)。
扩展UIImage类,添加棕褐色滤镜:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import UIKit
//--- UIImageFilterExtension.swift ---
extension UIImage
{
    //棕褐色复古滤镜(老照片效果)
    func sepiaTone() -> UIImage?
    {
        let imageData = UIImagePNGRepresentation(self)
        let inputImage = CoreImage.CIImage(data: imageData!)
        let context = CIContext(options:nil)
        let filter = CIFilter(name:"CISepiaTone")
        filter!.setValue(inputImage, forKey: kCIInputImageKey)
        filter!.setValue(0.8, forKey: "inputIntensity")
        if let outputImage = filter!.outputImage {
            let outImage = context.createCGImage(outputImage, fromRect: outputImage.extent)
            return UIImage(CGImage: outImage)
        }
        return nil
    }
}

使用样例:

1
imageView1.image = UIImage(named:"img2.jpg")?.sepiaTone()

2,黑白滤镜 - CIPhotoEffectNoir

扩展UIImage类,添加黑白滤镜:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import UIKit
//--- UIImageFilterExtension.swift ---
extension UIImage
{
    //黑白效果滤镜
    func noir() -> UIImage?
    {
        let imageData = UIImagePNGRepresentation(self)
        let inputImage = CoreImage.CIImage(data: imageData!)
        let context = CIContext(options:nil)
        let filter = CIFilter(name:"CIPhotoEffectNoir")
        filter!.setValue(inputImage, forKey: kCIInputImageKey)
        if let outputImage = filter!.outputImage {
            let outImage = context.createCGImage(outputImage, fromRect: outputImage.extent)
            return UIImage(CGImage: outImage)
        }
        return nil
    }
}

使用样例:

1
imageView1.image = UIImage(named:"img2.jpg")?.noir()

原文出自:www.hangge.com  转载请保留原文链接:http://www.hangge.com/blog/cache/detail_889.html

Swift - 给图片添加滤镜效果(棕褐色老照片滤镜,黑白滤镜)相关推荐

  1. css中在图片上加透明,css 给图片添加滤镜效果,透明层毛玻璃效果

    我们用的第一个滤镜是sepia(),他会给图片增加一整降饱和度的橙色染色效果 原图 添加sepia滤镜的效果 img{ width:100%; transition: .5s filter; filt ...

  2. Swift - 给图片添加文字水印(图片上写文字,并可设置位置和样式)

    想要给图片添加文字水印或者注释,我们需要实现在UIImage上写字的功能. 1,效果图如下: (在图片左上角和右下角都添加了文字.) 2,为方便使用,我们通过扩展UIImage类来实现添加水印功能 ( ...

  3. Swift - 表格图片加载优化(拖动表格时不加载,停止时只加载当前页图片)

    列表的单元格中包含有图片在开发中很常见.通常我们可以直接在tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIn ...

  4. html给img添加滤镜,给图片在博客中添加滤镜效果_CSS/HTML

    配合同事文章的技巧,用自己的博客来测试一下.首先插入一张测试图片: 终极技巧之图片篇:为图片添加滤镜效果 纯文字博客看上去会显得很枯燥,适当的配图能够让页面更美观,也能更好地表达自己的思想.那么如何为 ...

  5. vue3+echarts实现世界地图以及轨线(label使用fomatter+rich动态添加图片及背景色,以及label如何添加动态边框色)

    背景 最近项目开发,需要开发一个世界地图,并且实现经纬度对应的点对点轨线动效,效果如下: 问题 如何在刚打开页面的时候就显示地点名称 label如何同时添加图片和背景色 label怎么动态修改字体颜色 ...

  6. 图片添加边框工具:AKVIS ArtSuite for Mac

    你也想为你的图片添加各种精美的边框吗?akvis artsuite mac破解版是一款用于装饰照片的工具,可以非常方便的为照片或者图片添加上精美的相框或者边框!程序可独立运行,也可以作为Photosh ...

  7. html如何在图片中放入音乐,如何给图片添加音乐

    右糖 右糖是一款图片视频制作软件,可以直接把图片制作成视频然后添加音乐,可以直接选择使用模板里的音乐,也可以选择右糖音乐库里的音乐,或者上传自己的本地音乐进行制作.右糖模板效果精致,场景丰富,你可以使 ...

  8. Unreal Engin_画廊制作笔记 _011利用PS为场景添加滤镜效果

                                                    011 利用PS为场景添加滤镜效果 这节比较重要. 我们要利用PS制作一个类似镜头滤镜的效果. 第一步, ...

  9. php 怎么支持中文图片显示,利用php怎么实现一个给图片添加中文水印的功能

    利用php怎么实现一个给图片添加中文水印的功能 发布时间:2021-01-21 15:13:48 来源:亿速云 阅读:88 作者:Leah 这篇文章给大家介绍利用php怎么实现一个给图片添加中文水印的 ...

最新文章

  1. Jazz揭秘:下一代开发平台常见问题百科全说
  2. 【框架】[Spring]XML配置实现AOP拦截-切点:JdkRegexpMethodPointcut
  3. 使用WPF动态资源在Gtk3 C#中进行本地化
  4. http请求pom 客户端_RPC之HttpClient与OkHttp3的实现,服务端知识点
  5. h710阵列卡支持最大硬盘_ORICO推爆品五盘位硬盘柜,一拖五最大支持80TB,你会买吗?...
  6. 从源码分析HashSet集合
  7. Qualcomm工具的使用
  8. java 引入微信sdk_手把手教您开发JAVA微信SDK-新手接入
  9. python函数的四种参数传递方式
  10. centos 6 安装 net-speeder
  11. live2d在vue中的运用
  12. 图形界面介绍Create Size Blockage
  13. java 数字与英文字母相互转换
  14. 天锋w2019_华强北神机天锋W2019堪比真机,一不小心就被套路
  15. mysql 5.7修改密码
  16. Python算法-穷举法和二分法
  17. SD-WAN最让人心动的四个功能
  18. 区块链世界里不能信什么?
  19. python 的fcntl模块
  20. 7-32 寻找250 (10分)

热门文章

  1. 手机NFC如何格式化加密IC卡
  2. 7.面向对象进阶(1)
  3. 服务器4块固态硬盘做raid5,RAID 5与RAID 10、硬盘和固态硬盘
  4. 北京科技大学 工科物理实验 大二上
  5. 学生专用计算机怎样开启关机,怎么设置电脑自动关机?
  6. VirtualBox :不能分配USB设备到虚拟电脑
  7. 【2022最全最细】Docker 从入门到精通(建议收藏的教程)
  8. 移动应用开发的未来是什么?——六大趋势指引企业顺水行舟
  9. 网络共享计算机怎么连接,电脑共享网络怎么连接
  10. OSINT + Python = Custom Hacking