python - 如何将颜色调整到首选视觉范围?

标签 python

我想做的是将动态背景颜色应用于黑色文本。 颜色是根据文本的哈希计算得出的。

问题是,颜色往往太暗而无法阅读文本。

我怎样才能使颜色变亮以使其保持在合适的视觉范围内(不要太暗,也不要太亮)?

颜色不能比米色亮或比蓝绿色深。
(请记住,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/

相关文章:

python - 使递归函数迭代?

python - 为什么 hash() 在 python3.4 和 python2.7 下比较慢

python - 使用 for 循环将 header 添加到乘法表

python - 使用Python或Excel vba将单个Excel单元格内容拆分为不同的单元格

python-mplayer 无法打开 mp3 文件

python - 如何启动和停止周期性后台任务?

python - 在 Pandas 数据框中查找唯一值,无论行或列位置如何

python - 如何使用 pandas 确定每个唯一用户的优先操作

python - 是否可以使用 pika 从每个队列中消费?

python - 为什么pandas rolling使用单维ndarray