(PHP 4 >= 4.3.2, PHP 5, PHP 7)
imagecolorallocatealpha — Создание цвета для изображения
$image
, int $red
, int $green
, int $blue
, int $alpha
)
imagecolorallocatealpha() работает аналогично функции
imagecolorallocate(), но еще добавляет к цвету параметр
alpha
, отвечающий за прозрачность.
image
Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().
red
Значение красного компонента цвета.
green
Значение зеленого компонента цвета.
blue
Значение синего компонента цвета.
alpha
Значение в диапазоне от 0 до 127. 0 означает непрозрачный цвет, 127 означает полную прозрачность.
red
, green
и blue
могут быть либо целочисленными в диапазоне от 0 до 255 либо
шестнадцатеричными в диапазоне от 0x00 до 0xFF.
Идентификатор цвета или FALSE
в случае неудачи при создании цвета.
Эта функция может возвращать как boolean FALSE
, так и не-boolean значение, которое приводится к FALSE
. За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.
Версия | Описание |
---|---|
5.1.3 |
Возвращает FALSE , если создать цвет не удалось.
Раньше в этом случае функция возвращала -1.
|
Пример #1 Пример использования 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);
// рисование 3х пересекающихся окружностей
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);
?>
Результатом выполнения данного примера будет что-то подобное: