PHP allocate color without image resource

前端 未结 4 950
孤独总比滥情好
孤独总比滥情好 2020-12-04 03:08

Can you allocate a color in PHP GD without an image resource? It should be possible because really an allocated color is a number, right?

$im = imagecreatet         


        
4条回答
  •  生来不讨喜
    2020-12-04 03:31

    Use this function

    function img_color($r, $g, $b, $a=0) {
      // prepare red color
      if (is_string($r)) {
        if (!preg_match('/^[a-f0-9]{1,2}$/i', $r)) return false;
        $r = hexdec($r);
      }
      elseif (is_int($r)) {if ($r<0 or $r>255) return false;}
      else return false;
    
      // prepare green color
      if (is_string($g)) {
        if (!preg_match('/^[a-f0-9]{1,2}$/i', $g)) return false;
        $g = hexdec($g);
      }
      elseif (is_int($g)) {if ($g<0 or $g>255) return false;}
      else return false;
    
      // prepare blue color
      if (is_string($b)) {
        if (!preg_match('/^[a-f0-9]{1,2}$/i', $b)) return false;
        $b = hexdec($b);
      }
      elseif (is_int($b)) {if ($b<0 or $b>255) return false;}
      else return false;
    
      // prepare alpha channel
      if (is_string($a)) {
        if (!preg_match('/^[a-f0-9]{1,2}$/i', $a)) return false;
        $a = hexdec($a);
      }
      elseif (!is_int($a)) return false;
      if ($a<0 or $a>127) return false;
    
      $result = unpack('I', chr($b) . chr($g) . chr($r) . chr($a));
      return $result[1];
    }
    

提交回复
热议问题