|
|
imagecolorallocatealpha (PHP 4 >= 4.3.2, PHP 5) imagecolorallocatealpha -- Allocate a color for an image Описаниеint imagecolorallocatealpha ( resource image, int red, int green, int blue, int alpha )
imagecolorallocatealpha() behaves identically to
imagecolorallocate() with the addition of the transparency
parameter alpha.
Список параметров
imageAn image resource, returned by one of the image creation functions,
such as imagecreatetruecolor(). red
Value of red component
green
Value of green component
blue
Value of blue component
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.
Возвращаемые значения
A color identifier or FALSE if the allocation failed.
Примеры
Пример 1. Example of using imagecolorallocatealpha() |
<?php
$size = 300;
$image=imagecreatetruecolor($size, $size);
$back = imagecolorallocate($image, 255, 255, 255);
$border = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $size - 1, $size - 1, $back);
imagerectangle($image, 0, 0, $size - 1, $size - 1, $border);
$yellow_x = 100;
$yellow_y = 75;
$red_x = 120;
$red_y = 165;
$blue_x = 187;
$blue_y = 125;
$radius = 150;
$yellow = imagecolorallocatealpha($image, 255, 255, 0, 75);
$red = imagecolorallocatealpha($image, 255, 0, 0, 75);
$blue = imagecolorallocatealpha($image, 0, 0, 255, 75);
imagefilledellipse($image, $yellow_x, $yellow_y, $radius, $radius, $yellow);
imagefilledellipse($image, $red_x, $red_y, $radius, $radius, $red);
imagefilledellipse($image, $blue_x, $blue_y, $radius, $radius, $blue);
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>
|
Результатом выполнения данного примера
будет что-то подобное: 
|
ПримечанияЗамечание: Эта функция нуждается в GD версии 2.0.1 или выше.
add a note
User Contributed Notes
imagecolorallocatealpha
eric (at) junioronline.us
25-Jan-2006 01:41
If you only wish to extract the alpha value for a color, you can simply extract it like so:
<?php
$color = imagecolorat($im, 50, 50);
$alpha = $color >> 24;
?>
It actually shifts off the first 24 bits (where 8x3 are used for each color), and returns the remaining 7 allocated bits (commonly used for alpha)
fchristl at hotmail dot com
19-Sep-2003 12:55
Check out this Source, it's a little funny feature showing you, for what imagecolorallocatealpha() is used:
<?php
$im=imagecreatetruecolor(300,300);
$white=imagecolorallocate($im,255,255,255);
imagefilledrectangle($im,0,0,imagesx($im),imagesy($im),$white);
for($i=0;$i<256;$i=$i+10)
{
$col=imagecolorallocatealpha($im,$i,$i,$i,ceil(rand(0,127)));
imagefilledellipse($im,$i,$i,$i,$i,$col);
}
header("content-type: image/png");
imagepng($im);
?>
|