imagecolorexactalpha

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

imagecolorexactalpha取得指定的颜色加透明度的索引值

说明

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

返回图像调色板中指定颜色加透明度的索引值。

参数

image

由图象创建函数(例如imagecreatetruecolor())返回的图象资源。

red

红色成分的值。

green

绿色成分的值。

blue

蓝色成分的值。

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

返回值

返回图像调色板中指定颜色加透明度的索引值。 如果颜色不在图像的调色板中,返回 -1。

范例

Example #1 Get colors from the GD logo

<?php

// Setup an image
$im imagecreatefrompng('./gdlogo.png');

$colors   = Array();
$colors[] = imagecolorexactalpha($im255000);
$colors[] = imagecolorexactalpha($im000127);
$colors[] = imagecolorexactalpha($im25525525555);
$colors[] = imagecolorexactalpha($im1002555220);

print_r($colors);

// Free from memory
imagedestroy($im);
?>

以上例程的输出类似于:

Array
(
    [0] => 16711680
    [1] => 2130706432
    [2] => 939524095
    [3] => 342163252
)

注释

Note: 此函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。

参见

User Contributed Notes

matt at matt-darby dot com 11-Jul-2005 06:09
Note that a color allocated with imagecolorexactalpha won't show alpha (it will be opaque) when used with imageline(). Use imagerectangle() set to your normal start and end points instead.

Ensure that the image is created via imagecreatetruecolor() as well!
phpdoc-comment at aditus dot nu 08-Nov-2002 10:01
What might be misleading in the docs is that if the specified color + alpha channel does not exist it will be created. So if you like to use an alpha channel in your image enable alpha blending and then create you color using this method.