请注意,使用 imagecolorexactalpha 分配的颜色在与 imageline() 一起使用时不会显示 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 )
请注意,使用 imagecolorexactalpha 分配的颜色在与 imageline() 一起使用时不会显示 alpha(它将是不透明的)。请改用 imagerectangle() 设置为您的正常起点和终点。
还要确保图像通过 imagecreatetruecolor() 创建!
文档中可能存在误导性的是,如果指定的颜色 + alpha 通道不存在,它将被创建。因此,如果您想在图像中使用 alpha 通道,请启用 alpha 混合,然后使用此方法创建颜色。