(PHP 4, PHP 5)
imagegif — Envoie une image GIF vers un navigateur ou un fichier
imagegif() crée un fichier image GIF avec le nom filename d'après l'image image. L'argument image est un identifiant valide retourné par la fonction imagecreate() ou les fonctions imagecreatefrom*.
Le format de l'image sera GIF87a, à moins que l'image n'ait une couleur transparente (mise en place grâce à la fonction imagecolortransparent())), ce qui fera qu'elle sera au format GIF89a.
Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().
Le chemin vers le fichier de sauvegarde. Si le flux de l'image brute n'est pas fourni, il sera affiché directement.
Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.
Exemple #1 Affichage d'une image en utilisant imagegif()
<?php
// Création d'une image
$im = imagecreatetruecolor(100, 100);
// Définit l'arrière-plan en blanc
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
// Dessine un texte dans l'image
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);
// Affiche l'image sur le navigateur
header('Content-type: image/gif');
imagegif($im);
imagedestroy($im);
?>
Exemple #2 Conversion d'une image PNG en GIF, en utilisant imagegif()
<?php
// Chargement de l'image PNG
$png = imagecreatefrompng('./php.png');
// Sauvegarde de l'image en GIF
imagegif($png, './php.gif');
// Libération de la mémoire
imagedestroy($png);
// C'est fait !
echo 'Convertion avec succès de l'image PNG en GIF !';
?>
Note:
Le support GIF a été supprimé de la bibliothèque GD en version 1.6 et rajouté en version 2.0.28. Cette fonction n'est donc pas disponible entre des 2 versions. Pour plus d'informations, reportez-vous au site web du » projet GD.
Le code suivant vous permet d'écrire des scripts PHP plus portables : le type de GD est automatiquement détecté. Il remplace la séquence Header("Content-type: image/gif"); ImageGif($im); par un code plus souple :
<?php
// Création d'une image
$im = imagecreatetruecolor(100, 100);
// On fait quelques opérations sur l'image ici...
// Gestion de l'affichage
if(function_exists('imagegif'))
{
// Pour GIF
header('Content-type: image/gif');
imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
// Pour JPEG
header('Content-type: image/jpeg');
imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
// Pour PNG
header('Content-type: image/png');
imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
// Pour WBMP
header('Content-type: image/vnd.wap.wbmp');
imagewbmp($im);
}
else
{
imagedestroy($im);
die('Aucun support sur ce serveur PHP n\'a été trouvé');
}
// Si un support a été trouvé pour un de ces formats,
// nous libérons la mémoire
if($im)
{
imagedestroy($im);
}
?>
Note:
Depuis les versions 4.0.2 de PHP, vous pouvez utiliser la fonction imagetypes() au lieu de function_exists() pour vérifier la présence des différents formats d'images supportés.:
<?php
if(imagetypes() & IMG_GIF)
{
header('Content-type: image/gif');
imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
/* ... etc. */
}
?>