数学知识:颜色渐变

6

有没有用于制作(简单)渐变色的数学方法? 我正在寻找制作渐变色的简单方法,不限于任何特定编程语言,只需要与颜色相关的数学知识。


这与编程有什么关系?请阅读常见问题解答。 我本来想回答类似Peter的东西,但在“linear”一词后面添加一个(或不添加)。也许你不想要一个线性渐变。最重要的是函数是连续的 - Francisco Presencia
2
我将来会用它进行编程。但现在我需要这个简单的解释。 - Vassilis
10
就其价值而言,我是一名程序员,认为这是关于如何编程地从一个颜色过渡到另一个颜色的相关且有用的信息。 我在与同事一起处理字体反锯齿时发现了这个页面。我知道它是三年前的,但我认为关闭它是错误的。 - Anthony Minessale
2
https://en.wikibooks.org/wiki/Color_Theory/Color_gradient - Adam
1个回答

11

通常情况下,色彩渐变是从一种颜色到另一种颜色的线性函数。例如,如果您想要从红色(100%,0%,0%)渐变到蓝色(0%,0%,100%),您需要将每个颜色值从初始值到目标值进行扫描。

图片描述

在渐变的中间,颜色值等于第一种颜色的50%加上第二种颜色的50%。在这个例子中,您会得到(50%,0%,50%)- 这等于紫色。


请注意,在网页设计中,很多时候100%的值并不等于1001,而是等于255。 - Francisco Presencia
好的观点 - 网页颜色通常以24位RGB颜色表示,每个通道8位,范围从0x00到0xFF(255)。 - Peter Sobot
4
一般情况下,梯度不是“线性函数”。一般情况下,它可以是任何(但可能仍然是单调的)函数。 - Benjamin Bannier
如果我的颜色既不是红色、蓝色、绿色,而是其他的颜色呢? - Charles
例如,就饱和度而言,可以将颜色转换为HSL并仅扫描色调,保持饱和度(和亮度)不变。然而,这需要一些技巧,因为色调是一个循环值。如果不能使用HSL表示并且总是必须转换回RGB,则会变得更加困难。 - Charles
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接