©
Dokumen ini menggunakan Manual laman web PHP Cina Lepaskan
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
imagecolorexactalpha — 取得指定的颜色加透明度的索引值
$image
, int $red
, int $green
, int $blue
, int $alpha
)返回图像调色板中指定颜色加透明度的索引值。
image
由图象创建函数(例如 imagecreatetruecolor() )返回的图象资源。
red
红色成分的值。
green
绿色成分的值。
blue
蓝色成分的值。
alpha
A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.
返回图像调色板中指定颜色加透明度的索引值。 如果颜色不在图像的调色板中,返回 -1。
Example #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 及更高版本)。
[#1] matt at matt-darby dot com [2005-07-11 18:09:22]
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!
[#2] phpdoc-comment at aditus dot nu [2002-11-08 10:01:54]
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.