[Xcode10 实际操作]六、媒体与动画-(5)使用CoreImage框架给图片添加马赛克效果

本文将演示如何使用CoreImage图像处理框架,给图片添加像素化的滤镜效果。

在项目导航区,打开视图控制器的代码文件【ViewController.swift】

 1 import UIKit
 2 //首先导入要使用的框架,该框架提供了强大和高效的图像处理功能,
 3 //用来对基于像素的图像进行分析、操作和特效处理
 4 import CoreImage
 5
 6 class ViewController: UIViewController {
 7
 8     override func viewDidLoad() {
 9         super.viewDidLoad()
10         // Do any additional setup after loading the view, typically from a nib.
11
12         //从项目资源文件中读取一张图片
13         let image = UIImage(named: "Picture")
14         //创建一个图像视图对象,
15         //并给图像视图指定需要显示的图片
16         let imageView = UIImageView(image: image)
17         //将图像视图,添加到当时视图控制器的根视图
18         self.view.addSubview(imageView)
19
20         //然后初始化一个CoreImage图像对象,并加载之前导入的图片
21         let ciImage = CIImage(image: image!)
22         //初始化一个滤镜对象,并设置滤镜类型为像素化滤镜
23         let filter = CIFilter(name: "CIPixellate")
24         //设置像素化滤镜,采用默认的配置选项
25         filter?.setDefaults()
26         //设置需要应用该滤镜的图像
27         filter?.setValue(ciImage, forKey: kCIInputImageKey)
28         //接着获得应用指定滤镜之后的图像
29         let outImage = filter?.outputImage
30
31         //更改图像视图的内容,为应用滤镜后的图像。
32         imageView.image = UIImage(ciImage: outImage!)
33     }
34
35     override func didReceiveMemoryWarning() {
36         super.didReceiveMemoryWarning()
37         // Dispose of any resources that can be recreated.
38     }
39 }

原文地址:https://www.cnblogs.com/strengthen/p/10034295.html

时间: 2024-11-07 11:02:39

[Xcode10 实际操作]六、媒体与动画-(5)使用CoreImage框架给图片添加马赛克效果的相关文章

[Xcode10 实际操作]六、媒体与动画-(16)使用MediaPlayer框架播放视频

本文将演示视频的播放功能. 在项目名称上点击鼠标右键,弹出右键菜单, 选择[Add Files to "DemoApp"],往项目中导入文件命令. 点击选择一个影片素材->[Add] 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 //AVFoundation框架用来处理基于时间的媒体数据. 3 //可以用来检查.创建.编辑或是重新编码媒体文件. 4 //也可以从设备中获取输入流 5 //在视频实时播放时操作和

[Xcode10 实际操作]六、媒体与动画-(7)遍历系统提供的所有滤镜

本文将演示系统到底提供了多少滤镜供开发者使用,并了解每个滤镜都有哪些参数需要配置. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 //首先导入要使用的框架,该框架提供了强大和高效的图像处理功能, 3 //用来对基于像素的图像进行分析.操作和特效处理 4 import CoreImage 5 6 class ViewController: UIViewController { 7 8 override func viewDid

[Xcode10 实际操作]六、媒体与动画-(8)使用CATransaction Reveal制作渐显动画

本文将演示如何制作渐显动画. 图片的不透明度逐渐发生了变化,从而产生作渐显动画的效果. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the v

[Xcode10 实际操作]六、媒体与动画-(9)使用CATransaction Push制作入场动画

本文将演示如何制作入场动画. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8

[Xcode10 实际操作]六、媒体与动画-(6)使用UIBlurEffect给图片添加模糊效果

本文将演示如何给图像添加模糊效果. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib.

iOS开发——动画编程OC篇&(六)UIView动画

UIView动画 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码放在[UIView beginAnimations:nil context:nil]和[UIView commitAnimations]之间 常见方法解析: + (void)setAnimationDelegate:(id)d

GIS基础软件及操作(六)

原文 GIS基础软件及操作(六) 练习六.空间分析的应用 1.加深对缓冲区分析基本原理.方法的认识:2.熟练掌握距离制图创建缓冲区技术方法.3.掌握利用缓冲区分析方法解决地学空间分析问题的能力. 1. 距离制图-创建缓冲区 数据准备:图层文件point.shp,lline.shp,polygon.shp 1.1 点要素图层的缓冲区分析 1) 在ArcMap中新建地图文档,加载图层:StudyArea,point 2) 打开Arctoolbox,执行命令<Spatial Analyst工具>-&

[Xcode10 实际操作]九、实用进阶-(25)使用Storyboard(故事版)的约束功能,使项目快速适配各种分辨率的设备

本文将演示使用故事版的约束功能,使项目快速适配各种分辨率的设备. 在项目导航区打开并编辑主故事版[Main.storyboard]. 在当前故事版中,已经存在一个适配4寸屏幕的界面, 点击设备名称,更改设备类型.在弹出的模拟器列表中,选择一款拥有4.7寸屏幕的模拟器. 然后通过系统提供的约束功能,对各尺寸屏幕进行适配. 在故事版文档框架区中的[View Controller],点击显示[MainView]视图下的所有子元素. 该视图是添加的自定义视图,尺寸与根视图相同,并且包含了页面中的所有元素

【Win 10 应用开发】UI Composition 札记(六):动画

动画在 XAML 中也有,而且基本上与 WPF 中的用法一样.不过,在 UWP 中,动画还有一种表现方式—— 通过 UI Composition 来创建. 基于 UI Composition 的动画,相对于 XAML 动画,有以下优点: 1.不使用 UI 线程,XAML 动画是共享 UI 线程的,而 Composition 中的动画是使用辅助线程的. 2.Composition 动画支持表达式(计算公式)来产生动画,相对灵活. 老周的建议是:两者都用,因为基于 XAML 和基于 Composit