請注意,使用 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 混合,然後使用此方法建立您的顏色。