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
imagegd2
(PHP 4 >= 4.0.7, PHP 5)
imagegd2 — Output GD2 image to browser or file
Описание
Outputs a GD2 image to the given filename .
Список параметров
- image
-
An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().
- filename
-
The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.
- chunk_size
-
Chunk size.
- type
-
Either IMG_GD2_RAW or IMG_GD2_COMPRESSED. Default is IMG_GD2_RAW.
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Примеры
Пример #1 Outputting a GD2 image
<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);
imagegd2($im);
// Free up memory
imagedestroy($im);
?>
Пример #2 Saving a GD2 image
<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);
// Save the gd2 image
// The file format for GD2 limages is .gd2, see http://www.libgd.org/GdFileFormats
imagegd2($im, 'simple.gd');
// Free up memory
imagedestroy($im);
?>
Примечания
Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.
Замечание: The GD2 format is commonly used to allow fast loading of parts of images. Note that the GD2 format is only usable in GD2-compatible applications.
Список изменений
| Версия | Описание |
|---|---|
| 4.3.2 | chunk_size and type were added. |
imagegd2
16-Apr-2003 03:33
11-Feb-2003 11:35
A little more information: http://www.boutell.com/gd/manual2.0.11.html#gdImageGd2
For me, the gd2 format is intended for faster loading and writing. I didn't test this yet.
