PHP Conference Japan 2024

imagecolorexactalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecolorexactalpha取得指定顏色 + alpha 的索引值

說明

imagecolorexactalpha(
    GdImage $image,
    int $red,
    int $green,
    int $blue,
    int $alpha
): int

返回影像調色盤中指定顏色+alpha 的索引值。

參數

image

一個 GdImage 物件,由影像建立函式之一返回,例如 imagecreatetruecolor()

red

紅色成分的值。

green

綠色成分的值。

藍色 (blue)

藍色成分的值。

alpha (透明度)

介於 0127 之間的值。 0 表示完全不透明,而 127 表示完全透明。

顏色參數是介於 0 到 255 之間的整數,或是介於 0x00 到 0xFF 之間的十六進位值。

回傳值

回傳指定顏色 + alpha 值在影像調色盤中的索引,如果顏色不存在於影像的調色盤中,則回傳 -1。

更新日誌

版本 說明
8.0.0 image 現在需要一個 GdImage 實例;以前需要一個有效的 gd 資源

範例

範例 #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
)

參見

新增註釋

使用者貢獻的註釋 2 則註釋

matt at matt-darby dot com
19 年前
請注意,使用 imagecolorexactalpha 分配的顏色在與 imageline() 一起使用時不會顯示 alpha(它將是不透明的)。請改用 imagerectangle() 設定您正常的起始和結束點。

同時請確保圖像是透過 imagecreatetruecolor() 建立的!
phpdoc-comment at aditus dot nu
22 年前
文件中可能令人誤解的是,如果指定的顏色 + Alpha 通道不存在,它將被建立。因此,如果您想在圖像中使用 Alpha 通道,請啟用 Alpha 混合,然後使用此方法建立您的顏色。
To Top