(PHP 4, PHP 5, PHP 7)
imagegif — Выводит изображение в браузер или пишет в файл
imagegif() создает GIF файл to
из изображения
image
. Аргумент image
возвращается
функциями imagecreate() или
imagecreatefrom*.
Файл будет иметь формат GIF87a, если изображение не было сделано прозрачным функцией imagecolortransparent(). В этом случае форматом файла будет GIF89a.
image
Ресурс изображения, возвращаемый одной из функций создания изображений, например, такой как imagecreatetruecolor().
filename
Путь, или открытый потоковый ресурс (который автоматически закрывается после завершения функции), для сохранения файла. Если не установлен или равен NULL
, изображение будет выведено в поток вывода в бинарном виде.
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Однако, если libgd не может вывести изображения, эта функция вернет TRUE
.
Версия | Описание |
---|---|
5.4.0 |
Добавлена возможность использовать поток типа resource для
to .
|
Пример #1 Вывод изображения, используя imagegif()
<?php
// Создание изображения
$im = imagecreatetruecolor(100, 100);
// Создание белого фона
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
// Рисование текста на изображении
imagestring($im, 3, 40, 20, 'GD библиотека', 0xFFBA00);
// Вывод изображения в броузер
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);
?>
Пример #2 Преобразование PNG в GIF, используя imagegif()
<?php
// Загрузка PNG
$png = imagecreatefrompng('./php.png');
// Сохранение как GIF
imagegif($png, './php.gif');
// Освобождение памяти
imagedestroy($png);
// готово
echo 'Преобразование PNG в GIF успешно завершено!';
?>
Замечание:
Поддержка GIF была исключена из GD библиотеки в версии 1.6 и возвращена обратно в 2.0.28. Эта функция недоступна в промежутке этих версий. За дополнительной информацией обращайтесь на сайт » Проекта GD.
Следующий пример кода позволит вам писать PHP приложения, которые будут проще портироваться на разные системы. В нем используется автоопределение типа GD поддержки доступной в данный момент. Замените строки: header ("Content-Type: image/gif"); imagegif ($im); на более переносимые:
<?php
// Создание нового изображения
$im = imagecreatetruecolor(100, 100);
// Какие-либо операции с изображением
// Обработка вывода
if(function_exists('imagegif'))
{
// для GIF
header('Content-Type: image/gif');
imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
// для JPEG
header('Content-Type: image/jpeg');
imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
// для PNG
header('Content-Type: image/png');
imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
// для WBMP
header('Content-Type: image/vnd.wap.wbmp');
imagewbmp($im);
}
else
{
imagedestroy($im);
die('В этом PHP сервере нет поддержки изображений');
}
// Если не поддерживается ни один из форматов
// освободим память
if($im)
{
imagedestroy($im);
}
?>
Замечание:
Вы можете использовать функцию imagetypes() для проверки, какие форматы поддерживаются:
<?php
if(imagetypes() & IMG_GIF)
{
header('Content-Type: image/gif');
imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
/* ... и т.д. */
}
?>