(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)
imagegd2 — Output GD2 image to browser or file
$image
,$file
= null
,$chunk_size
= 128,$mode
= IMG_GD2_RAW
Outputs or saves the given image
in GD2 format.
image
Ein GdImage -Objekt, das von einer der Funktionen zur Bilderzeugung, z. B. imagecreatetruecolor() , zurückgegeben wurde.
file
Der Pfad oder eine offene Stream-Ressource (die nach der Beendigung dieser Funktion automatisch geschlossen wird), in dem bzw. der die Datei gespeichert werden soll. Falls nicht gesetzt oder null
, wird der rohe Bilddatenstrom direkt ausgegeben.
chunk_size
Chunk size.
mode
Either IMG_GD2_RAW
or
IMG_GD2_COMPRESSED
. Default is
IMG_GD2_RAW
.
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.
Wenn libgd das Bild nicht ausgeben kann, gibt diese Funktion true
zurück.
Version | Beschreibung |
---|---|
8.0.3 |
file is now nullable.
|
8.0.0 |
image erwartet nun eine
GdImage -Instanz; vorher wurde eine gültige
gd -Ressource erwartet.
|
Beispiel #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);
// Output the image
imagegd2($im);
?>
Beispiel #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 images is .gd2, see http://www.libgd.org/GdFileFormats
imagegd2($im, 'simple.gd2');
?>
Hinweis:
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.
Die Bildformate GD und GD2 sind proprietäre Bildformate von libgd. Sie sind als veraltet anzusehen, und sollten nur zu Entwicklungs- und Testzwecken verwendet werden.
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