imagecolorexactalpha
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagecolorexactalpha — 取得指定的颜色加透明度的索引值
说明
返回图像调色板中指定颜色加透明度的索引值。
参数
-
image
由图象创建函数(例如imagecreatetruecolor())返回的 GdImage 对象。
red
-
红色成分的值。
green
-
绿色成分的值。
blue
-
蓝色成分的值。
alpha
-
介于
0
和127
之间的值。0
表示完全不透明,而127
表示完全透明。
返回值
返回图像调色板中指定颜色加透明度的索引值。 如果颜色不在图像的调色板中,返回 -1。
示例
示例 #1 从 GD logo 中获取颜色
<?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);
?>
以上示例的输出类似于:
Array ( [0] => 16711680 [1] => 2130706432 [2] => 939524095 [3] => 342163252 )
参见
- imagecolorclosestalpha() - 获取最接近指定颜色 + alpha 的颜色索引
+添加备注
用户贡献的备注 2 notes
matt at matt-darby dot com ¶
19 years ago
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 ¶
22 years ago
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.
备份地址:http://www.lvesu.com/blog/php/function.imagecolorexactalpha.php