(PHP 4, PHP 5)
imagegif — Выводит изображение в браузер или пишет в файл
$image
[, string $filename
] )
imagegif() создает GIF файл из изображения
image
. Аргумент image
возвращается
функциями imagecreate() или
imagecreatefrom*.
Файл будет иметь формат GIF87a, если изображение не было сделано прозрачным функцией imagecolortransparent(). В этом случае фоматом файла будет GIF89a.
image
Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor().
filename
Путь для сохранения файла. Если не установлен или равен NULL
, изображение будет выведено в поток вывода в бинарном виде.
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Пример #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);
}
?>
Замечание:
По состоянию на 4.0.2 вы можете использовать функцию imagetypes() вместо function_exists() для проверки, какие форматы поддерживаются:
<?php
if(imagetypes() & IMG_GIF)
{
header('Content-Type: image/gif');
imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
/* ... и т.д. */
}
?>