我怎样才能得到两种颜色之间的颜色?

新手上路,请多包涵

我有两种颜色:

 #15293E
#012549

我怎样才能找到介于它们中间的颜色?有什么方法可以做这个计算吗?

原文由 user1943020 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 270
1 个回答

正如 Lister 先生刚才所说,使用任何编程语言都可以轻松实现自动化计算:

  1. 将两种颜色分成 红色、绿色、蓝色 的 3 个颜色编号:(r1,g1,b1) 和 (r2,g2,b2)。

    • 例如#15293E,#012549 变成 (“15”, “29”, “3E”), (“01”, “25”, “49”)
  2. 将每个颜色字符串转换为整数,明确指定您正在解析数字 的基于十六进制的 表示形式。

    • 例如 (“15”, “29”, “3E”) 变成 (21, 41, 62)
  3. 计算平均值 (r’,g’,b’) = ( (r1+r2)/2, (g1+g2)/2, (b1+b2)/2 )。

    • 例如 ((21+1)/2, (41+37)/2, (62+73)/2) = (11, 39, 67)
  4. 再次将它们转换为 strings ,明确指定您正在生成 两位 十六进制表示(必要时用零填充)。

    • 例如 (11, 39, 67) -> (“0B”, “27”, “43”)
  5. 连接一个哈希字符,后跟 3 个字符串

    • 例如 (“0B”, “27”, “43”) -> ”#0B2743”

编辑: 实施并不像我最初所说的那样“非常容易”。我花时间 在 Programming-Idioms 上 用多种语言编写代码。

原文由 Deleplace 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题