imagecolorexactalpha()
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
取得指定的颜色加透明度的索引值
说明
imagecolorexactalpha(resource $image,int $red,int $green,int $blue,int $alpha): int
返回图像调色板中指定颜色加透明度的索引值。
参数
- $image
由图象创建函数(例如imagecreatetruecolor())返回的图象资源。
- $red
红色成分的值。
- $green
绿色成分的值。
- $blue
蓝色成分的值。
- $alpha
A value between0and127.0indicates completely opaque while127indicates completely transparent.
返回值
返回图像调色板中指定颜色加透明度的索引值。如果颜色不在图像的调色板中,返回-1。
范例
Get colors from the GD logo
<?php // Setup an image $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); // Free from memory imagedestroy($im); ?>
以上例程的输出类似于:
Array ( [0] => 16711680 [1] => 2130706432 [2] => 939524095 [3] => 342163252 )
注释
Note:此函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。
参见
imagecolorclosestalpha()
取得与指定的颜色加透明度最接近的颜色
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!
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.