[纯干货]RGB算法教学进阶篇(一):简单颜色渐变

精华2021/09/061990 浏览攻略
⚠️前排警告,在未阅读基础篇前请勿阅读本篇教程。
镇楼图
TapTap
在上一篇教程中,我们知道了RGB代码的基本含义,本篇将会在上一篇的基础上进行简单渐变的教学。
1.黑白渐变#000000→#ffffff
在这里我们先用最简单的两个颜色渐变进行演示。
在这里先放出全渐变过程
[000000]→[111111]→[222222]→[333333]→[444444]→[555555]→[666666]→[777777]→[888888]→[999999]→[aaaaaa]→[bbbbbb]→[cccccc]→[dddddd]→[eeeeee]→[ffffff]
TapTap
(效果如图)
这实际上便等效于调色板的最下栏
TapTap
此渐变也是做枪时最常用的渐变之一
(但是你游调色板的黑和白都不是纯黑和纯白,所以我并不喜欢直接用游戏内调色板)
经过观察可以发现,每个颜色间的数值相差均相等,才会产生渐变的效果。
而渐变的关键便是每个颜色之间的数值差相同
.
.
.
2.渐变的改长改短与通用计算公式
通过上文可得,我们只要更改每次数值变化的大小,就可以改变渐变的速度。
如上文中的渐变为16格,我们便可以将其改短成八格
渐变就变为了#ffffff→#dddddd→#bbbbbb→#999999→#777777→#555555→#333333→#111111
TapTap
(效果如图)
由此我们便可以推算出一个渐变的标准计算公式。
我们设两个代码分别为
#XXYYZZ和#AABBCC
其中XX,yy,zz,aa,bb,cc均为在[0,255]间的整数
在这里我们假设XX>AA,YY>BB,ZZ>CC
那么我们只需要将xx对应的数值减去aa对应的数值再除以你想得到的渐变的格数,便可以知道得到你需要加或减的数值ΔR
同理也可得ΔG与ΔB
随后,我们便可以在自定义调色板下面的RGB
值中加或减你得到的ΔR,ΔG,ΔB就可以得到一个完整的渐变。
如果你想得到颜色的单色值比原色大,那么需要在原色上加数值,反之则需减数值。
通过这个通式,我们便可以得到所有的颜色渐变。
ps.下文为了渐变简单且美观,长度均为16格
pss.高级使用例请见另一篇
.
.
.
3.单色到黑白渐变
在这里我们选用一个最简单的颜色纯红#ff0000
我们先对比这两个颜色的颜色代码
#ff0000,#000000
可以得知,两代码间只有R值不同,因此我们只需均匀的减去R值即可。
那么我们便可以得到下面的渐变
#ff0000→#ee0000→#dd0000→#cc0000→......→#220000→#110000→#000000
TapTap
(效果如图)
实际上这个渐变也就对应着调色板的最右边一条
TapTap
同理也可得红到白的渐变
#ff0000→#ff1111→#ff2222→......→#ffdddd→#ffeeee→#ffffff
对应着调色板最上面一条
TapTap
在实际的做枪过程中,我还是推荐直接在调色板里选。
.
.
.
3.单色到单色渐变
这里我们选用纯红和纯蓝做示范,仍旧先对比两者的代码
#ff0000,#0000ff
可以看出两者的红色值与蓝色值均不同。
那么我们需要在减去红色值的同时增加蓝色值,便可得下面的渐变
#ff0000→#ee0011→#dd0022→......→#2200dd→#1100ee→#0000ff
TapTap
(效果如图)
码字不易求各位多多点赞转发,若有不懂之处请在下方回复,我会一一解答。
58
23
15