PHP在没有图像资源的情况下分配颜色

Mar*_*lor 4 php rgb resources gd colors

PHP GD您可以在没有 的情况下分配颜色image resource吗?这应该是可能的,因为分配的颜色实际上是一个数字,对吗?

$im = imagecreatetruecolor(100, 100);
$col = imagecolorallocate($im, 255, 0, 0);
print $col."<br/>";
$col2 = imagecolorallocate($im, 255, 0, 0);
print $col2."<br/>";
$im2 = imagecreatetruecolor(600, 100);
$col3 = imagecolorallocate($im, 255, 0, 0);
print $col3;
Run Code Online (Sandbox Code Playgroud)

这打印出:

16711680

16711680

16711680

我猜真正的问题是255、0、0如何变成16711680。

Vas*_*kov 6

16711680(十进制)为 0x00FF0000(十六进制)

00 - Alpha 值(十进制 0)

FF - 红色(12 月 255 日)

00 - 绿色(12 月 0 日)

00 - 蓝色(12 月 0 日)

请参阅http://www.php.net/manual/en/function.imagecolorallocatealpha.php设置 alpha 字节

编辑:

另外,要回答您的第一个问题 -是的,您可以在没有图像资源的情况下创建颜色(因此无需调用 imagecolorallocate):

$col1 = 0x00FF0000; // 红色的

$col2 = 0x0000FF00; // 绿色的

// ETC...