请注意,使用 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 混合,然后使用此方法创建颜色。