我需要一种在 PHP/HTML 中生成 1 到 100 种颜色(十六进制代码)的列表的方法。零是红色,100 是绿色,中间的每一个都是在两者之间平滑流动的阴影。 (例如,红色到橙色到黄色到绿色)。
假设我可以向它输入一个数字,例如数字 50,它会从列表中返回一个十六进制代码(50 将是黄色)。
手动分配数组中的每种颜色是唯一的方法吗?或者有什么更简单的方法吗?
这个请求很奇怪 - 我四处搜索,但找不到类似的东西。
最佳答案
试一试:
function rgb($val){
if($val < 0 || $val > 100)
return; // Error!
$r = (100 - $val)*255/50;
if((100 - $val) > 50)
$r = 255;
$rr = dechex($r);
if($r < 16)
$rr = '0' . $rr;
$g = ($val)*255/50;
if((100-$val) < 50)
$g = 255;
$gg = dechex($g);
if($g < 16)
$gg = '0'.$gg;
$bb = '00';
return $rr . $gg . $bb;
}
这是从 0-100 到 10 的输出值:
ff0000
ff3300
ff6600
ff9900
ffcc00
ffff00
ccff00
99ff00
66ff00
33ff00
00ff00
关于php - 用 PHP 生成 100 个 HTML 颜色代码的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7733327/