imagelayereffect

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

imagelayereffect Устанавливает флаг альфа-смешивания, чтобы создать эффекты наложения изображений

Описание

imagelayereffect(GdImage $image, int $effect): bool

Функция устанавливает флаг альфа-смешивания, чтобы создать эффекты наложения изображений.

Список параметров

image

Объект GdImage, который возвращает одна из функций, создающих изображения, например, imagecreatetruecolor().

effect

Константа из следующего списка:

IMG_EFFECT_REPLACE
Использовать замену пикселей; аналогично передаче true в функцию imagealphablending()
IMG_EFFECT_ALPHABLEND
Использовать обычное сопряжение цветов; аналогично передаче false в функцию imagealphablending()
IMG_EFFECT_NORMAL
То же, что и IMG_EFFECT_ALPHABLEND.
IMG_EFFECT_OVERLAY
В результате наложения картинки с этим эффектом чёрные и белые пиксели фона изображения останутся так же чёрными и белыми, а серые поменяют цвет на цвет пикселя накладываемого изображения.
IMG_EFFECT_MULTIPLY
Оверлеи с множителем эффекта.

Возвращаемые значения

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Список изменений

Версия Описание
8.0.0 Параметр image теперь ожидает экземпляр класса GdImage; раньше параметр ждал корректный gd-ресурс (resource).
7.2.0 Добавили эффект IMG_EFFECT_MULTIPLY; для работы эффекта потребуется системная библиотека libgd >= 2.1.1 или встроенная в PHP библиотека libgd.

Примеры

Пример #1 Пример установки флага альфа-смешивания функцией imagelayereffect()

<?php

// Настраиваем изображение
$im = imagecreatetruecolor(100, 100);

// Устанавливаем фон
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 220, 220, 220));

// Применяем флаг альфа-смешивания для наложения
imagelayereffect($im, IMG_EFFECT_OVERLAY);

// Рисуем два серых эллипса
imagefilledellipse($im, 50, 50, 40, 40, imagecolorallocate($im, 100, 255, 100));
imagefilledellipse($im, 50, 50, 50, 80, imagecolorallocate($im, 100, 100, 255));
imagefilledellipse($im, 50, 50, 80, 50, imagecolorallocate($im, 255, 100, 100));

// Выводим изображение
header('Content-type: image/png');

imagepng($im);

?>

Вывод приведённого примера будет похож на:

Вывод примера: imagelayereffect()