我需要根据背景设置文本颜色(文本颜色应该是黑色或白色)。 我的应用程序中的背景可以有任何颜色和颜色格式。我一直在寻找几种方法,但对我来说,没有一种方法是完美的:
有一些函数可以为您提供颜色的亮度,例如
isLight(color: string) { //<--color in the way '#RRGGBB
if (rgb.length == 7) {
const rgb = [
parseInt(color.substring(1, 3), 16),
parseInt(color.substring(3, 5), 16),
parseInt(color.substring(5), 16),
];
const luminance =
(0.2126 * rgb[0]) / 255 +
(0.7152 * rgb[1]) / 255 +
(0.0722 * rgb[2]) / 255;
return luminance > 0.5;
}
return false
}
注意:前段时间我在另一个 stackblitz
中重新创建了 javascript 库颜色