imagecolorallocatealpha

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

imagecolorallocatealphaСоздание цвета для изображения

Описание

int imagecolorallocatealpha ( resource $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($image255255255);
$border imagecolorallocate($image000);
imagefilledrectangle($image00$size 1$size 1$back);
imagerectangle($image00$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($image255255075);
$red    imagecolorallocatealpha($image2550075);
$blue   imagecolorallocatealpha($image0025575);

// рисование 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Вывод примера: Пример использования imagecolorallocatealpha()

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imagecolorallocate() - Создание цвета для изображения
  • imagecolordeallocate() - Разрыв ассоциации переменной с цветом для заданного изображения

Коментарии

If you only wish to extract the alpha value for a color, you can simply extract it like so:

<?php

    $color 
imagecolorat($im5050);
   
$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)
2006-01-25 03:41:16
http://php5.kiev.ua/manual/ru/function.imagecolorallocatealpha.html
If you need to calculate the integer representation of a color with an alpha channel, without initialising an image and using the imagecolorallocatealpha function. Then this function might be of some help:

<?php
function alphaColor($hexColor,$alpha)
{
        return 
bindec(decbin($alpha).decbin(hexdec($hexColor));
}

echo 
alphaColor("FFFFFF",127);
?>
2007-11-29 09:19:55
http://php5.kiev.ua/manual/ru/function.imagecolorallocatealpha.html
Автор:
When working with transparency, avoid imagecreate() and use imagecreatetruecolor() instead. Transparency effects may not work as expected within a palette-based image.
2015-09-23 01:30:41
http://php5.kiev.ua/manual/ru/function.imagecolorallocatealpha.html

    Поддержать сайт на родительском проекте КГБ