当前位置:

php 十六进制颜色值转换rgb色值 函数 (将十六进制格式转成十进制格式)

温馨提示:本文共1470个字,读完预计4分钟。

程序代码如下:
/**
 * 十六进制颜色转rgb
 * @param $hexColor
 * @return array
 */
function hex2rgb($hexColor)
{
    $color = str_replace('#', '', $hexColor);
    if (strlen($color) > 3) {
        $rgb = array(
            'r' => hexdec(substr($color, 0, 2)),
            'g' => hexdec(substr($color, 2, 2)),
            'b' => hexdec(substr($color, 4, 2))
        );
    } else {
        $color = $hexColor;
        $r = substr($color, 0, 1) . substr($color, 0, 1);
        $g = substr($color, 1, 1) . substr($color, 1, 1);
        $b = substr($color, 2, 1) . substr($color, 2, 1);
        $rgb = array(
            'r' => hexdec($r),
            'g' => hexdec($g),
            'b' => hexdec($b)
        );
    }
    return $rgb;
}
/**
*方法二
*/
public function hex2rgb($colour)
   {
      if ($colour[0] == '#') {
         $colour = substr($colour, 1);
      }

      if (strlen($colour) == 6) {
         list($r, $g, $b) = array($colour[0] . $colour[1], $colour[2] . $colour[3], $colour[4] . $colour[5]);
      }
      else if (strlen($colour) == 3) {
         list($r, $g, $b) = array($colour[0] . $colour[0], $colour[1] . $colour[1], $colour[2] . $colour[2]);
      }
      else {
         return false;
      }

      $r = hexdec($r);
      $g = hexdec($g);
      $b = hexdec($b);
      return array('red' => $r, 'green' => $g, 'blue' => $b);
   }
}

本文链接:,转发请注明来源!
评论已关闭。