我有下一个问题。
我有一种基色,该基色有几种不同的深浅。
示例:
- 基色:#4085c5
- 色号:#005cb1
现在,我有了不同的颜色(比如#d60620),但没有阴影。我想从颜色中计算出与第一段中提到的颜色具有相似差异的色度。
首先,我尝试计算RGB 的差异 元素并将它们应用于第二种颜色,但结果并不像我预期的那样。
我尝试将颜色转换为 HSV,读取饱和度值并将差异应用到第二种颜色,但结果颜色仍然很奇怪。
公式类似于:(HSV(BaseColor)[S] - HSV(Shade)[S]) + HSV(SecondColor)[H]
有谁知道如何解决这个问题?我知道我做错了什么,但我不知道是什么。 :)
最佳答案
有两种方法可以使颜色变暗:
- 从 R、G、B 中减去等量。这增加了饱和度。显然,您只能减去等于 R、G、B 值中最小值的安装量。
- 将 R、G、B 乘以小于 1.0 的值。这使饱和度或多或少保持不变。
同样,有两种方法可以使颜色变亮:
- 在 R,G,B 中加入等量的。这会降低饱和度。
- 将 R、G、B 乘以大于 1.0 的值。这会增加颜色的鲜艳度,从而增加表观饱和度。
您的示例似乎同时完成了这两项操作 - 从每个值中减去 0x40 并乘以 1.33。
使用您的第二种颜色,我们可以从每种颜色中减去 06,得到 #d0000a,但这还不够暗。将它乘以 0.735 得到 #990013。
关于php - 计算颜色深浅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12751512/