imagegif

(PHP 3, PHP 4 , PHP 5)

imagegif -- Envoie une image GIF vers un navigateur ou un fichier

Description

bool imagegif ( resource 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().

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.

Le format de l'image sera GIF87a tant que l'image n'est pas modifiée avec la fonction imagecolortransparent(). Dans le cas d'une telle modification, le format de l'image sera GIF89a.

Le nom du fichier est optionnel et, dans ce cas, l'image sera transmise directement à la sortie standard. En envoyant un en-tête de type image/gifcontent-type, (grâce à la fonction header()), vous pouvez créer des images avec des scripts PHP.

Note : Etant donné que toutes les fonctions GIF ont été supprimées de la bibliothèque GD version 1.6, cette fonction ne sera pas accessible si vous avez cette version de la bibliothèque. Le support du format GIF sera de retour milieu 2004 dans la bibliothèque GD. Pour plus d'informations, voir le site 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 :

Exemple 1. Détection automatique des formats d'image supportés

<?php
  
if (function_exists("imagegif")) {
    
header("Content-type: image/gif");
    
imagegif($im);
  }
  elseif (
function_exists("imagejpeg")) {
    
header("Content-type: image/jpeg");
    
imagejpeg($im, "", 0.5);
  }
  elseif (
function_exists("imagepng")) {
    
header("Content-type: image/png");
    
imagepng($im);
  } elseif (
function_exists("imagewbmp")) {
    
header("Content-type: image/vnd.wap.wbmp");
    
imagewbmp($im);
  }  else {
    die(
"Pas de support graphique avec PHP sur ce serveur");
  }
?>

Note : Depuis les versions 3.0.18 et 4.0.2, 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.

Exemple 2. Détection automatique des formats d'image supportés avec imagetypes()

if (imagetypes() & IMG_GIF) {
    header ("Content-type: image/gif");
    imagegif ($im);
}
elseif (imagetypes() & IMG_JPG) {
        ... etc.

Voir aussi imagepng(), imagewbmp(), imagejpeg() et imagetypes().