iOS开发之像素Compositing
假如Layer S
·在Layer D
上面,则最终的屏幕的颜色值如下:
\[R = S + D \cdot (1- S_\alpha)\]
\(R\): 最终的RGB
\(S\): source color,顶层的颜色,已经经过相乘
\(D\): destination color,底层的颜色,已经经过相乘
设顶层颜色用RGB表示是\((r_s,g_s,b_s,\alpha _s)\),底层颜色用RGB表示是\((r_d, g_d, b_d, \alpha_d)\),则\[S=(r_s \cdot \alpha_s, g_s \cdot \alpha_s, b_s \cdot \alpha_s)\]\[D=(r_d \cdot \alpha_d, g_d \cdot \alpha_d, b_d \cdot \alpha_d)\]
于是\[\begin{align*}
R &= S + D \cdot (1 - \alpha_s) \\
&= (r_s\cdot\alpha_s+(1-\alpha_s)\cdot(r_d\cdot\alpha_d), g_s\cdot\alpha_s+(1-\alpha_s)\cdot(g_d\cdot\alpha_d), b_s\cdot\alpha_s+(1-\alpha_s)\cdot(b_d\cdot\alpha_d))
\end{align*}
\]
iOS开发之像素Compositing的更多相关文章
- 【IOS开发】如何画1像素的线
最近在项目中画了一根1像素的线,我是通过直接花一个但是通过PS查看,画了不止1个像素. 原代码语句: label1 = [[UILabel alloc] initWithFrame:CGRectMak ...
- 【IOS开发笔记03-视图相关】简单计算器的实现
UIView 经过前几天的快速学习,我们初步了解的IOS开发的一些知识,中间因为拉的太急,忽略了很多基础知识点,这些知识点单独拿出来学习太过枯燥,我们在今后的项目中再逐步补齐,今天我们来学习APP视图 ...
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- iOS开发系列--IOS程序开发概览
概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...
- iOS-提高iOS开发效率的方法和工具
提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时 ...
- IOS开发之绝对布局和相对布局(屏幕适配)
之前如果做过Web前端页面的小伙伴们,看到绝对定位和相对定位并不陌生,并且使用起来也挺方便.在IOS的UI设计中也有绝对定位和相对定位,和我们的web前端的绝对定位和相对定位有所不同但又有相似之处.下 ...
- IOS开发基础知识--碎片19
1:键盘事件顺序 UIKeyboardWillShowNotification // 键盘显示之前 UIKeyboardDidShowNotification // 键盘显示完成后 UIKeyboar ...
- iOS开发 滤镜的使用
iOS开发之滤镜的使用技巧(CoreImage) 一.滤镜的内容和效果是比较多并且复杂的 ,学习滤镜需要技巧 如下: 两个输出语句解决滤镜的属性选择问题: 1.查询效果分类中包含什么效果按住com ...
- iOS开发人员不容错过的10大工具
内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...
随机推荐
- 调试bug心得
1. 忌主观主义.遇到问题,优先考虑客观排除法,按模块一一屏蔽测试排除.忌自己认为某个模块里的某个逻辑有问题,一直研究修改测试,被其他模块导致的偶然事件所干扰.通过排除法,找到震源,再解决.
- _LightColor0将会是主要的directional light的颜色。
LightMode是个非常重要的选项,因为它将决定该pass中光源的各变量的值.如果一个pass没有指定任何LightMode tag,那么我们就会得到上一个对象残留下来的光照值,这并不是我们想要的. ...
- 基于Linux服务器的性能分析与优化
作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行,但硬件问题.软件问题.网络环境等的复杂性和多变性,导致了对系统的优化变得异常复杂,如何定位性能问题出在哪个方面 ...
- 275. H-Index II 递增排序后的论文引用量
[抄题]: Given an array of citations in ascending order (each citation is a non-negative integer) of a ...
- windows下的phpunit安装
Windows Globally installing the PHAR involves the same procedure as manually installing Composer on ...
- 一张图5分钟熟悉MarkDown的基本语法
看到zealer上面有介绍MarkDown的,以前在老罗的发布会也听说过,说锤子便签支持MarkDown,但是不知道有什么用,现在来看看,确实不错. MarkDown的好处是让你可以专注于写字本身,而 ...
- 《Maven实战》
原创作者: 许晓斌 阅读:61148次 评论:19条 更新时间:2011-06-23 你是否早已厌倦了日复一日的手工构建工作?你是否对各个项目风格迥异的构建系统感到恐惧?Maven ...
- Perl 学习笔记-哈希
1.Perl中的哈希 高效快捷, 没有大小限制. 大哈希一样很快! 命名: 和Perl其他标识符一样, 同时拥有自己的的名字空间. $roger{"sex"} 和 $roger没 ...
- pagespeed模块安装——Nginx、Tengine
1.安装好nginx或者tengine 2.下载pagespeed模块并且解压 sudo mkdir -p /usr/local/tengine/modules wget https://github ...
- WindowServer2016无法安装.netframework3.5
因为安装sql server的原因 需要安装.NET Framework3.5 报错内容如下: 原因分析 找不到安装源文件. 解决办法 可以通过如下 PowerShell 脚本进行安装: 从开始菜单中 ...