请注意,使用 imageline() 时,使用 imagecolorexactalpha 分配的颜色不会显示 alpha(它将是不透明的)。请改用 imagerectangle() 并将其设置为正常的起点和终点。
确保图像也是通过 imagecreatetruecolor() 创建的!(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagecolorexactalpha — 获取指定颜色 + alpha 的索引
返回图像调色板中指定颜色+alpha 的索引。
image一个 GdImage 对象,由图像创建函数(如 imagecreatetruecolor())返回。
red红色分量的值。
green绿色分量的值。
blue蓝色分量的值。
alpha介于 0 和 127 之间的值。0 表示完全不透明,而 127 表示完全透明。
返回图像调色板中指定颜色+alpha 的索引,如果图像调色板中不存在该颜色,则返回 -1。
示例 #1 从GD标志获取颜色
<?php
// 设置图像
$im = imagecreatefrompng('./gdlogo.png');
$colors = Array();
$colors[] = imagecolorexactalpha($im, 255, 0, 0, 0);
$colors[] = imagecolorexactalpha($im, 0, 0, 0, 127);
$colors[] = imagecolorexactalpha($im, 255, 255, 255, 55);
$colors[] = imagecolorexactalpha($im, 100, 255, 52, 20);
print_r($colors);
// 释放内存
imagedestroy($im);
?>以上示例将输出类似于以下内容
Array
(
[0] => 16711680
[1] => 2130706432
[2] => 939524095
[3] => 342163252
)
请注意,使用 imageline() 时,使用 imagecolorexactalpha 分配的颜色不会显示 alpha(它将是不透明的)。请改用 imagerectangle() 并将其设置为正常的起点和终点。
确保图像也是通过 imagecreatetruecolor() 创建的!文档中可能误导人的一点是,如果指定的颜色 + alpha 通道不存在,它将被创建。因此,如果您想在图像中使用 alpha 通道,请启用 alpha 混合,然后使用此方法创建颜色。