【问题标题】:Color scheme trasformations配色方案转换
【发布时间】:2019-01-15 18:30:30
【问题描述】:
给定一组颜色,比如这个网页上的颜色,以及相同数量颜色的另一个调色板,将前者映射到后者的好方法是什么,同时:
- 保持各个颜色之间的对比度
- 保持颜色的相对强度(不确定这有多重要)
基本上,这个网页应该在新的调色板中呈现,同时仍然清晰。
什么颜色空间适合这个任务?
你能不能给我指出任何相关的工作?
更新:映射当然可以手动完成,但我打算为任何给定的颜色和调色板自动映射,所以我正在寻找一种算法方法,或者更确切地说是了解什么需要保留属性以利于易读性和美观性。
【问题讨论】:
标签:
web
webpage
color-scheme
color-space
【解决方案1】:
一般来说,我认为最好将颜色转换为 HSV,然后再转换色调(而不是返回原始编码)。我们使用亮度(暗元素)和饱和度(未选中的按钮等)作为语义元素,所以最好保留它。
这样你也可以保持对比度。
但是:正常 HSV 并不是真正的生理 HSV:最常用的公式只是为 RGB 色域设置,并给出最大范围并且与参数无关。实际上,最大 V 取决于 H(如果想比较不同颜色之间的 V)和其他效果。
并且这些和其他视觉效果(不在任何 HSV 中)会影响视觉结果,因此您可以通过编程方式进行(例如读取和覆盖所有颜色的 JavaScript,但这是其他问题的主题),但如果您做一个专业的网站,还是要手动调整一些元素。
注意:CSS 的最新版本和许多 CSS 预处理器允许您使用 HSV 值,并以编程方式应用饱和度、亮度和色调变化。