随机生成的背景颜色,要在此颜色上显示文字,希望能通过编程的方法来判断生成的颜色是深还是浅,深就用白色显示文字,浅就用黑色,找了很久,下面的两个方案可选。

  1. 把 RGB 的值求和,然后取一个值,当和大于等于此值就为浅色:
if ($R + $G + $B >= 450) {// add shadow// 浅色模式
}

这个算法很傻很简单,但效果不理想,特别是在 B 较大的时候,估计是眼睛对 RGB 各种颜色的敏感度都不一样。

  1. 后来我们通过把 RGB 模式转换成 YUV 模式,而 Y 是明亮度(灰阶),因此只需要获得 Y 的值而判断他是否足够亮就可以了:
const g = $R * 0.299 + $G * 0.587 + $B * 0.114;
if (g >= 192) {// add shadow// 浅色模式
}

g越小,颜色越深,可以按照你自己的需要定一个阀值。 我的是 g < 100

这个效果就是类似去 Photoshop 的去色功能,黑白电视机应该也是用这种算法转换的吧~~ 。

如何通过RGB值判断颜色深浅相关推荐

  1. 如何通过RGB值判断颜色深浅(转)

    http://blog.sina.com.cn/s/blog_4b0617280100tx0w.html 最近通过神经网络搜索电子渠道潜在客户,需要将搜索结构可视化,不同类型客户用不同颜色标识,因此需 ...

  2. 根据RGB​值判断颜色是否深浅色(附深浅色颜色集合)

    做博客云标签时碰到了这个问题,因为自己的背景是白色的,所以标签的背景色要是深色.网上找到了按照灰度值去判断(CSDN论坛),然后又搜了一下已有的文章. g = R0.299 + G0.587 + B* ...

  3. 网上流行护眼色的RGB值和颜色代码

    网上流行护眼色的RGB值和颜色代码 绿豆沙色能有效的减轻长时间用电脑的用眼疲劳! 色调:85,饱和度:123,亮度:205: RGB颜色红:199,绿:237,蓝:204: 十六进制颜色:#C7EDC ...

  4. 使用 RGB 值设置颜色

    使用 RGB 值设置颜色 另一种可以在 CSS 中表示颜色的方法是使用 RGB 值. RGB 即红色.绿色.蓝色(英语:Red, Green, Blue). ● 红色(R)0 到 255 间的整数,代 ...

  5. (转)网上流行护眼色的RGB值和颜色代码

    网上流行护眼色的RGB值和颜色代码 绿豆沙色能有效的减轻长时间用电脑的用眼疲劳! 色调:85,饱和度:123,亮度:205: RGB颜色红:199,绿:237,蓝:204: 十六进制颜色:#C7EDC ...

  6. 使用RGB值显示颜色

    Use RGB values to Color Elements 在 CSS 中表示颜色的另一个方法是使用 rgb 值. 代表黑色的 RGB 值看起来是下面的样子: rgb(0, 0, 0) 代表白色 ...

  7. 常用的RGB值和颜色对照表

    常用颜色的值        Colour      Red      Green      Blue      值        黑色   Black    0   0    0    0       ...

  8. 根据RGB数值判断颜色

    RGB 是光照色bai.分别对应R(Red)红,duG(Green)绿,B(Blue)蓝.每种颜色数据zhi从0到255,都为0的话就是没有光,是黑dao色,数据越大光越强.都为255是白色. 三色的 ...

  9. 护眼色的RGB值 和 颜色代码

    在搜索引擎搜"护眼色",就会搜出一堆关于保护眼睛的屏幕颜色文章,说的统统是一种颜色,有点像绿豆沙的颜色.方法就是在屏幕设置里. 色调:       85; 饱和度:   123; ...

最新文章

  1. SQL SERVER 查询表的行数
  2. 在html中添加class,在HTML标识符的Class中加入Styles
  3. sql cast函数_数据分析面试必备——SQL你掌握的怎么样?
  4. webm格式怎么转换成mp4
  5. pygame下载(非常详细)
  6. 传感器实验——光敏电阻传感器
  7. 器件基础知识——电容
  8. bootmgr快速修复win7_这可能是史上最简单的一键安装虚拟机win7系统了
  9. 绕口令 - 专项练习
  10. mysql的驱动_注册驱动MySQL的驱动程序
  11. 014_SSS_High-Resolution Image Synthesis with Latent Diffusion Models
  12. C++迷宫最短路径问题BFS
  13. 传奇3国际版 单机假设.说明和下载地址
  14. Ribbon与Eureka整合分析(四)、客户端配置延迟加载和启用饥饿加载
  15. java 农历_Java 农历算法
  16. GitHub Pages + Hexo搭建个人博客网站,史上最全教程
  17. 2020年个人计划总结和2021年个人计划
  18. 两台电脑连接时,A电脑可以ping通B电脑,而B电脑pingA电脑时出现超时问题,解决:
  19. Java框架之Struts2(六)
  20. fwidth、ddx、ddy解析

热门文章

  1. CDOJ 1644 KKX Sequence
  2. PAT 乙级 1100 校庆
  3. ios App支付宝开放平台申请支付宝支付具体步骤
  4. 2019年高校“史上最严”自主招生认可哪些奖项?释放哪些信号?
  5. 在体育方面计算机的应用,计算机技术在高校体育教学中的应用
  6. 【HaaS Python硬件积木】HCSR04超声波测距传感器
  7. STS (Spring Tool Suite) 目录和作用初级
  8. 第二代机器人操作系统课程资料汇总 Course Learning Materials for ROS2 2019.10.23
  9. ERP(用友)-账套管理
  10. Entity Framework 6三层架构入门:创建数据访问层DAL