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
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];
}