(PHP 4, PHP 5, PHP 7)
imagegif — Affichage de l'image vers le navigateur ou dans un fichier
$image
[, string $filename
] )
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.
image
Une ressource d'image, retournée par une des fonctions de création d'images, comme imagecreatetruecolor().
filename
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 défini à NULL
, le flux
brute de l'image 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. */
}
?>