gpt4 book ai didi

Ruby,生成随机的十六进制颜色(仅浅色)

转载 作者:数据小太阳 更新时间:2023-10-29 08:16:06 25 4
gpt4 key购买 nike

我知道这可能是重复的问题。 Ruby, Generate a random hex color

我的问题略有不同。我需要知道,如何只生成随机的十六进制浅色,而不是深色。

最佳答案

In this thread颜色亮度用公式描述

(0.2126*r) + (0.7152*g) + (0.0722*b)

相同的亮度公式是 given in wikipedia (它取自 this publication )。它反射(reflect)了人类的感知,绿色最“密集”,蓝色最不“密集”。

因此,您可以选择 r、g、b,直到亮度值超过之间的分界线(255 到 0)。例如:

lum, ary = 0, []
while lum < 128
ary = (1..3).collect {rand(256)}
lum = ary[0]*0.2126 + ary[1]*0.7152 + ary[2]*0.0722
end

Another article指亮度,为r、g、b的算术平均值。请注意,亮度更加主观,因为给定的目标亮度会在不同的环境中引起对亮度的不同感知(特别是,周围的颜色会影响您的感知)。

总而言之,这取决于您认为哪些颜色是“浅色”。

关于Ruby,生成随机的十六进制颜色(仅浅色),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6187738/

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