11、iOS图像渲染与绘制全解析

iOS图像渲染与绘制全解析

1. 透明度掩码与渲染模式

在iOS应用的界面中,有些地方会将图像视为透明度掩码(也称为模板)。这意味着图像的颜色值会被忽略,仅每个像素的透明度(alpha)值起作用。屏幕上显示的图像是通过将图像的透明度值与单一色调颜色相结合而形成的,例如标签栏项目的图像默认就是这种行为。

图像的处理方式由其渲染模式(renderingMode)属性决定,该属性为只读。若要在代码中更改渲染模式,可通过调用图像的 withRenderingMode(_:) 方法,以生成具有不同渲染模式的新图像。渲染模式值(UIImage.RenderingMode)有以下几种:
- .automatic :默认值,图像在大多数情况下正常绘制,但在某些特定上下文中会作为透明度掩码使用。
- .alwaysOriginal :强制图像正常绘制,即使在通常会将其视为透明度掩码的上下文中也是如此。
- .alwaysTemplate :强制图像作为透明度掩码处理,即使在通常会正常处理它的上下文中也是如此。

为配合这一特性,iOS为每个UIView提供了 tintColor 属性,用于为其包含的任何模板图像着色。默认情况下,此 tintColor 会在视图层次结构中继承,从窗口开始,贯穿整个应用。因此,为应用的主窗口分配一个色调颜色可能是对窗口进行的少数更改之一,否则应用将采用系统的蓝色色调。(或者,如果使用主故事板,可在文件检查器中设置全局色调颜色。)各个视图也可以分配自己的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值