English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
imagecolorallocatealpha — назначает цвет и прозрачность для изображения.
int imagecolorallocatealpha ( resource $image, int $red, int $green, int $blue, int $alpha )
imagecolorallocatealpha() ведет себя так же, как и imagecolorallocate(), но добавляет дополнительный параметр прозрачности alpha, значение которого варьируется от 0 до 127. 0 означает完全没有 прозрачности, 127 - полная прозрачность.
Если分配失败, возвращает FALSE.
Внимание:Эта функция требует GD 2.0.1 или выше (рекомендуется 2.0.28 и выше).
<?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; // Использовать alpha значение для распределения цветов $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! header('Content-type: image/png'); // Последний результат вывода imagepng($image); imagedestroy($image); ?>
Изображение результата примера выше приведено ниже:
imagecolorallocate() Дistribute color to an image.
imagecolordeallocate() Отменить распределение цвета изображения.