请教一下各位,如何通过纯色背景的 RGB 值,确定文字颜色的 RGB 值呢?

2021-12-13 14:52:56 +08:00
 KimigaiiWuyi

显示效果清晰,好看,至少不会觉得配色恶心 单纯取互补色感觉是不行了,有没有什么已经实现的算法之类的可以用用

2014 次点击
所在节点    Python
9 条回复
KimigaiiWuyi
2021-12-13 14:54:21 +08:00
https://www.toptal.com/designers/colourcode/
这个网站似乎实现的不错
vanton
2021-12-13 14:58:09 +08:00
```javascript
/**
* 高对比度颜色
* @param {Color} [color]
* @returns {string} "#000000"|"#ffffff"
*/
function contrastingColor(color = { r: 0, g: 0, b: 0 }) {
let luma = 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b;
return luma > 128 ? "#000000" : "#ffffff";
}
```
KimigaiiWuyi
2021-12-13 15:06:18 +08:00
@vanton 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b;这个好像是取灰度值,该怎么通过灰度值判定文字颜色的 RGB 呢
makelove
2021-12-13 15:22:00 +08:00
直接 rgba(0,0,0, ?)不好吗?
Material Design 也是这么搞的
KimigaiiWuyi
2021-12-13 15:26:51 +08:00
@makelove 这样暗色背景不是完全不能看了,而且主要就是想 colorful 一点
zhyl
2021-12-13 15:44:48 +08:00
@KimigaiiWuyi
这个网站文字颜色的计算方法

"rgb-to-fgc": function(n) {
var r, o;
return o = converter.bounds.validate("rgb", n),
r = 96 / 255,
Math.max(o.r, o.g, o.b) > 1 - r && (r *= -1),
converter.bounds.validate("rgb", {
r: o.r + r,
g: o.g + r,
b: o.b + r
})
},
KimigaiiWuyi
2021-12-13 16:03:57 +08:00
@zhyl 感谢,我尝试一下
makelove
2021-12-13 16:05:56 +08:00
@KimigaiiWuyi 暗色不就是把 0 换成 255? 想不同点就把 0 稍小改一下
zhyl
2021-12-13 16:46:10 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/821862

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX