imagesavealpha

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

imagesavealphaСохранять ли полную информацию альфа-канала при сохранении изображений

Описание

imagesavealpha(GdImage $image, bool $enable): bool

imagesavealpha() устанавливает флаг, определяющий, будет ли сохраняться полная информация альфа-канала (в противовес одноцветной прозрачности) и сохраняет изображение. Поддерживается только для форматов изображений, которые содержат полную информацию об альфа-канале, т.е. PNG, WebP и AVIF.

Замечание: Функция imagesavealpha() имеет смысл только для изображений PNG, поскольку для WebP и AVIF всегда сохраняется полный альфа-канал. Не рекомендуется полагаться на это поведение, так как оно может измениться в будущем. Таким образом, функцию imagesavealpha() следует вызывать намеренно также для изображений WebP и AVIF.

Альфа-смешивание должно быть отключено (imagealphablending($im, false)), чтобы альфа-канал сохранялся в первую очередь.

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

image

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

enable

Требуется ли сохранять альфа канал или нет. По умолчанию false.

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

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

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

Версия Описание
8.0.0 Параметр image теперь ожидает экземпляр класса GdImage; раньше параметр ждал корректный gd-ресурс (resource).

Примеры

Пример #1 Пример использования imagesavealpha()

<?php
// Загрузка png изображения с альфа каналом
$png = imagecreatefrompng('./alphachannel_example.png');

// Выключение альфа-смешения
imagealphablending($png, false);

// Какие-то операции

// Установка альфа-флага
imagesavealpha($png, true);

// Вывод изображения и очистка памяти
header('Content-Type: image/png');

imagepng($png);
imagedestroy($png);
?>

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

  • imagealphablending() - Задание режима сопряжения цветов для изображения