栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

有没有办法判断HTML十六进制颜色是浅色还是深色

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

有没有办法判断HTML十六进制颜色是浅色还是深色

该解决方案使用

java.awt.Color
该类来导出颜色的亮度值,并使用该类来确定应使用哪种背景色。

编辑:此解决方案与其他解决方案有所不同,因为其他解决方案会将某些明亮的颜色视为深色,例如。主红色(#FF0000)。鉴于此解决方案,将原始红色视为您可以拥有的最明亮的颜色之一。我想这取决于您的喜好。您要阅读黑底红字还是白底红字?

String fontColor = "#0cf356";// remove hash character from stringString rawFontColor = fontColor.substring(1,fontColor.length());// convert hex string to intint rgb = Integer.parseInt(rawFontColor, 16);Color c = new Color(rgb);float[] hsb = Color.RGBtoHSB(c.getRed(), c.getGreen(), c.getBlue(), null);float brightness = hsb[2];if (brightness < 0.5) {   // use a bright background} else {   // use a dark background}

HSB代表色相,饱和度,亮度-亮度也称为发光度。“颜色”类别的值在1到0之间。因此,0.5亮度是最亮的颜色和最暗的颜色之间的中点。

色相,饱和度和亮度之间的相互作用比红色,蓝色和绿色要复杂一些。使用此工具尝试不同的颜色,并找到RGB和HSB之间的关系



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/466524.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号