(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)
imagesavealpha — Сохранять ли полную информацию альфа-канала при сохранении изображений
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);
?>