又是一个渐变色生成算法_html/css_WEB-ITnose
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了又是一个渐变色生成算法_html/css_WEB-ITnose,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1331字,纯文字阅读大概需要2分钟。
内容图文
![又是一个渐变色生成算法_html/css_WEB-ITnose](/upload/InfoBanner/zyjiaocheng/402/af0163f34148438ab4274e203b9d0cae.jpg)
简化了下背景,给定一个指标X,比较小的时候是正常的,比较大的时候比较危险。为了更直观地地显示,前端显示的时候希望使用颜色来高亮这个值??比较小的时候颜色是绿色,较大的时候显示红色,并且用一些黄色进行过渡。
使用google搜了搜,没有找到合适的代码。于是乎,露珠自己打算搞个~贻笑大方了···
分析颜色在HTML中可以用RGB值来表示??绿色是rgb(0,255,0), 红色是rgb(255,0,0),黄色是rgb(255,255,0). 为了达到渐变效果,需要设计一个函数F:
F(0) = rgb(0,255,0);F(比较大的值) = rgb(255,0,0);F(中间的值) = rgb(255,255,0);
结果
函数貌似很复杂,但是调了一会就出来了,效果来不错。
晒晒代码:
/** * 生成渐变色,从绿色到红色的渐变 * @param int $x 指标值 * @param int $threshold 渐变阈值,$x等于这个值的时候刚好是黄色 * @param float $brightness 亮度,从0到1 * @return string RGB格式的颜色值 */function generateGradientColor($x, $threshold, $brightness = 1){ return sprintf('rgb(%d, %d, 0)', intval(min(255, ($x * 1.0 / $threshold * 255)) * $brightness), intval(max(0, min(255, (2 - $x * 1.0 / $threshold) * 255)) * $brightness));}效果
生成的渐变色的效果如下(threshold = 25):
附生成上述效果的PHP代码:
$i
内容总结
以上是互联网集市为您收集整理的又是一个渐变色生成算法_html/css_WEB-ITnose全部内容,希望文章能够帮你解决又是一个渐变色生成算法_html/css_WEB-ITnose所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。