我想做的是将动态背景颜色应用于黑色文本。 颜色是根据文本的哈希计算得出的。
问题是,颜色往往太暗而无法阅读文本。
我怎样才能使颜色变亮以使其保持在合适的视觉范围内(不要太暗,也不要太亮)?
颜色不能比米色亮或比蓝绿色深。
(请记住,255 的蓝色比 255 的绿色更暗,因为人眼对绿色最敏感,对蓝色最不敏感)
最佳答案
QColor
支持 HSL 表示。你想限制亮度范围:
QColor limitLightness(const QColor & color) {
auto hsl = src.toHsl();
auto h = hsl.hslHueF();
auto s = hsl.hslSaturationF();
auto l = hsl.lightnessF();
qreal const lMin = 0.25;
qreal const lMax = 0.75;
return QColor::fromHslF(h, s, qBound(lMin, lMax, l));
}
关于python - 如何将颜色调整到首选视觉范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38971926/