在我的应用程序中,我有一个文本和文本周围的背景框。我想要的是给它们两个分配颜色。现在我随机创建一个颜色通过以下方法
R: uint8(rand.Intn(255)),
G: uint8(rand.Intn(255)),
B: uint8(rand.Intn(255)),
现在我采用了一种方法来创建兼容的十六进制颜色通过以下方法
R: 255 - color.R,
G: 255 - color.G,
B: 255 - color.B,
但是通过这种方法颜色不兼容。我觉得一个颜色应该深一个颜色应该浅一点。我在stackoverflow中看到计算亮度来确定颜色是暗还是亮。但是我没有得到一个正确的方法。简而言之,我想要一个程序,用于创建两个兼容的十六进制颜色代码。
1条答案
按热度按时间yjghlzjz1#
如果我理解正确的话,你可以使用以下代码:
(通知:亮度=(0.299 * R + 0.587 * G + 0.114 * B)/ 255)