使用 PHP 生成 100 个 HTML 颜色代码的列表

use*_*882 6 html php colors range

我需要一种 PHP/HTML 方法来生成 1 到 100 种颜色(十六进制代码)的列表。0 是红色,100 是绿色,中间的每一个都是在两者之间平滑流动的阴影。(例如,红色到橙色到黄色到绿色)。

假设我可以向它输入一个数字,例如数字 50,它会从列表中返回一个十六进制代码(50 是黄色)。

是手动分配数组中每种颜色的唯一方法吗?或者有更简单的方法吗?

这个请求很奇怪——我四处寻找,但找不到类似的东西。

Lan*_*don 0

尝试一下:

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;
}
Run Code Online (Sandbox Code Playgroud)

以下是从 0 到 100(以 10 为单位)的输出值:

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;
}
Run Code Online (Sandbox Code Playgroud)