(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.
| Версия | Описание |
|---|---|
| 8.0.0 |
Параметр image теперь принимает объект GdImage;
раньше параметр принимал корректный gd-ресурс (resource).
|
Пример #1 Пример настройки сохранения полной информации альфа-канала при сохранении изображения функцией imagesavealpha()
<?php
// Загрузка PNG-изображения с альфа-каналом
$png = imagecreatefrompng('./alphachannel_example.png');
// Выключение альфа-смешения
imagealphablending($png, false);
// Какие-то операции
// Установка альфа-флага
imagesavealpha($png, true);
// Устанавливаем заголовок с MIME-типом изображения и выводим результат
header('Content-Type: image/png');
imagepng($png);