(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)
imagegd2 — Выводит GD2-изображение в браузер или файл
$image,$file = null ,$chunk_size = 128,$mode = IMG_GD2_RAW
Функция выводит или сохраняет изображение image в формате GD2.
imagefileПуть или ресурс открытого потока, который функция автоматически закрывает
после возврата значения, для сохранения файла. Функция выведет поток необработанного изображения напрямую,
если параметр не установили или передали в аргументе значение null .
chunk_sizeРазмер части изображения.
mode
Параметр принимает значение IMG_GD2_RAW
или IMG_GD2_COMPRESSED . Значение по умолчанию
равняется IMG_GD2_RAW .
Функция возвращает true , если выполнилась успешно, или false , если возникла ошибка.
Функция вернёт значение true , если вывести изображение средствами библиотеки libgd невозможно.
| Версия | Описание |
|---|---|
| 8.0.3 |
Параметр file теперь принимает значение null .
|
| 8.0.0 |
Параметр image теперь принимает объект GdImage ;
раньше параметр принимал корректный gd-ресурс (resource ).
|
Пример #1 Пример вывода GD2-изображения
<?php
// Создание пустого изображения и добавление на него текста
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "Простая Текстовая Строка", $text_color);
// Вывод изображения
imagegd2($im);
?>
Пример #2 Пример сохранения GD2-изображения
<?php
// Создание пустого изображения и добавление на него текста
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "Простая Текстовая Строка", $text_color);
// Сохранение изображения
// Файлы GD2-изображений сохраняют в формате .gd,
// подробнее о формате файлов рассказывает страница http://www.libgd.org/GdFileFormats
imagegd2($im, 'simple.gd2');
?>Замечание:
В формате GD2 часто быстро загружают части изображений. Обратите внимание, что формат GD2 поддерживают только GD2-совместимые приложения.
Форматы GD и GD2 — проприетарные форматы изображений библиотеки libgd. Форматы устарели и применяются только в целях разработки и тестирования.
You can use this function in combination with imagecreatefromstring() to clone the gd resource with minimum fuss (no writing to tmp file):
<?php
function cloneGd($gd)
{
ob_start();
imagegd2($gd);
return imagecreatefromstring(ob_get_clean());
}
?>This function produces an empty file (0 bytes) if a gdlib version is used without gd2 image format support. Which is planed to be removed completely with gdlib 3.yes, the gd2 file format does improve the speed of image creations as the data-setup is designed to be native for the GD function - ie, the image doesn't have to be converted to a usable format prior to processing.
you may also note that the newer gd2 format creates much smaller size files than the older imagegd function, certainly for images involving chunks of single colours anyway. you'll probably find this function most useful for saving overlay images or background images used in larger image creation scripts.
to read a ping or jpeg image (.png / .jpg) and save a .gd2 version to server...
$img = $_GET['img'];
if(file_exists($img))
{
$dim = getimagesize($img);
$cr = ($dim[2] < 4) ? ($dim[2] < 3) ? ($dim[2] < 2) ? NULL : imagecreatefromjpeg($img) : imagecreatefrompng($img) : Null;
if($cr !== NULL)
{
imagegd2($cr,substr($img,0,strrpos($img,'.')).'.gd2');
}
}
should save a copy with the same filename and directory using extension .gd2 - which can then be nicely and swiftly read using either imagecreatefromgd2 or imagecreatefromgd2part