(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);
?>