gpt4 book ai didi

random - 以编程方式选择高对比度颜色

转载 作者:行者123 更新时间:2023-12-03 10:13:56 24 4
gpt4 key购买 nike

这应该是一个简单的问题,但我一直无法找到使它起作用的方法。

本质上,我在我的 web 开发中使用了一个愚蠢的本地主机页面。当我在我们的开发服务器和本地版本的 C# 代码(通过主机文件从 dev url 重定向)之间浏览时,我知道有时会忘记“dev.foo.com”指向什么 - 本地或服务器。

所以我创建了一个页面,该页面将作为我的默认网页的默认页面在本地运行,因此我可以轻松地从服务器识别我的本地主机。

这个页面随机做了很多事情(包括为 D&D 生成角色的起始统计数据),包括设置随机背景颜色。我通过生成 0 到 255 之间的 3 个随机数,并将它们设置为 CSS 中正文背景颜色的 RGB 值来做到这一点。

给定 3 个整数 R、G 和 B,我如何确定 R2、G2 和 B2,以使第二种颜色与第一种颜色具有高对比度?我喜欢让页面具有随机的背景颜色(这让我无法习惯登录页面的外观),但我也喜欢能够阅读文本。

最佳答案

您需要亮度差异才能使文本可读,因为色觉本身的分辨率太低。
因此,作为一种算法,我建议如下:

  • 选择一个随机的背景颜色。
  • 然后决定它是浅色还是深色。例如,您可以检查三基色的平均值是否大于或等于 128。
  • 对于浅色使用黑色文本,对于深色使用白色文本。

  • 更新:这是我在玩 split_evenly 时制作的示例图像Rust crate 的示例 plotters .它显示了 Palette99 中的颜色:
    7x3 colored fields with their index in either black or white depending on the background's brightness

    关于random - 以编程方式选择高对比度颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/407793/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com