PHP Conference Nagoya 2025

imagegd2

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagegd2Génère une image au format GD2, vers le navigateur ou un fichier

Description

imagegd2(
    GdImage $image,
    ?string $file = null,
    int $chunk_size = 128,
    int $mode = IMG_GD2_RAW
): bool

Génère une image au format GD2, vers le fichier file.

Liste de paramètres

image

Un objet GdImage, retournée par une des fonctions de création d'images, comme imagecreatetruecolor().

file

Le chemin ou un flux de ressource ouvert (qui sera automatiquement fermé après le retour de cette fonction) vers lequel le fichier sera sauvegardé. Si non-défini ou null, le flux brute de l'image sera affiché directement.

chunk_size

Taille de la pièce.

mode

Soit IMG_GD2_RAW, soit IMG_GD2_COMPRESSED. Par défaut, vaut IMG_GD2_RAW.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Attention

Toutefois, si libgd ne parvient pas à produire l'image, cette fonction retourne true.

Historique

Version Description
8.0.3 file is now nullable.
8.0.0 image attend une instance de GdImage désormais; auparavant, une resource gd était attendue.

Exemples

Exemple #1 Affichage d'une image GD2

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "Un texte simple", $text_color);

// Affichage de l'image
imagegd2($im);

// Libération de la mémoire
imagedestroy($im);
?>

Exemple #2 Sauvegarde d'une image GD2

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "Un texte simple", $text_color);

// Sauvegarde de l'image GD2
// Le format de fichier pour les images GD2 est .gd2, voir http://www.libgd.org/GdFileFormats
imagegd2($im, 'simple.gd2');

// Libération de la mémoire
imagedestroy($im);
?>

Notes

Note:

Le format GD2 est communément utilisé pour charger rapidement les parties d'une image. Notez que le format GD2 est uniquement utilisable dans les applications compatibles GD2.

Avertissement

Les formats d'image GD et GD2 sont des formats d'images propriétaire de libgd. Ils doivent être considérés obsolète, et devraient seulement être utilisé lors du développement et la phase de test.

Voir aussi

  • imagegd() - Génère une image au format GD, vers le navigateur ou un fichier
add a note

User Contributed Notes 2 notes

up
3
Nick
13 years ago
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());
}
?>
up
0
mark at teckis dot com
21 years ago
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
To Top