begin process at 2008 05 16 04:35:53
1 173 215 membres
57 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TOUT SUR LES IMAGES DYNAMIQUES


Information sur la source

Catégorie :Tutoriaux Niveau : Débutant Date de création : 13/11/2003 Date de mise à jour : 13/11/2003 05:49:03 Vu / téléchargé: 21 071 / 1 883

Note :
9,1 / 10 - par 20 personnes
9,10 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (38)
Ajouter un commentaire et/ou une note


Description

Au programme aujourd'hui un petit tuto sur les images dynamiques.

C'est une des fonctions super puissantes de php.

La création dynamique d'image fonctionne toujours sur le même principe :
+ Création de l'identifiant de l'image
+ Ajout des détails (texte, couleur, image, dessin...)
+ On modifie les entêtes pour afficher l'image
+ Création de l'image dans un fichier ou envoi de l'image créée au navigateur sans enregistrement.
+ Libération des ressources serveur

Source

  • -------------------------
  • Créer un identifiant d'image
  • Image 256 couleurs
  • $image = imageCreate($largeur,$hauteur);
  • Variables : largeur et hauteur en pixel
  • Image 16 millions de couleurs
  • $image = imageCreateTrueColor($largeur,$hauteur);
  • Variables : largeur et hauteur en pixel
  • -------------------------
  • Créer un identifiant d'image à partir d'une autre image
  • Un GIF :
  • $image = ImageCreateFromGIF($nomfichier);
  • Variable : Nom du fichier à copier (et son chemin s?il n'est pas dans le même dossier)
  • Un JPEG :
  • $image = ImageCreateFromJPEG($nomfichier);
  • Variable : Nom du fichier à copier (et son chemin s?il n'est pas dans le même dossier)
  • Un PNG :
  • $image = ImageCreateFromPNG($nomfichier);
  • Variable : Nom du fichier à copier (et son chemin s?il n'est pas dans le même dossier)
  • $image contiendra donc l'identifiant de l'image sur lequel sera effectué les divers travaux
  • -------------------------
  • Donner une couleur de fond à l'image et création de sa palette de couleurs
  • Ajouter une couleur à la palette (cette fonction retourne un identifiant de couleur) :
  • $couleur = ImageColorAllocate($image,$rouge,$vert,$bleu);
  • Variables : $image : identifiant de l'image, $rouge : entre 0 et 255, $vert : entre 0 et 255, $bleu : entre 0 et 255
  • Note : cette fonction ne sert pas qu'à ça mais elle définie la couleur du fond la 1ere fois qu'elle est utilisée.
  • Couleur la plus proche de la couleur voulue et création de la couleur si elle n'existe pas dans la palette. L'identifiant de la couleur la plus proche de cette
  • couleur est retournée dans le cas ou la palette est pleine.
  • Ne tien pas compte de la transparence
  • $couleur = imageColorResolve($image, $rouge, $vert, $bleu);
  • Variables : $image : ideAntifiant de l'image, $rouge : entre 0 et 255, $vert : entre 0 et 255, $bleu : entre 0 et 255
  • Couleur la plus proche de la couleur voulue et création de la couleur si elle n'existe pas dans la palette. L'identifiant de la couleur la plus proche de cette
  • couleur est retournée dans le cas ou la palette est pleine.
  • Tien compte de la transparence
  • $couleur = imageColorResolve($image, $rouge, $vert, $bleu, $alpha);
  • Variables : $image : identifiant de l'image, $rouge : entre 0 et 255, $vert : entre 0 et 255, $bleu : entre 0 et 255, $alpha
  • -------------------------
  • Ecrire sur une image
  • Ecrire horizontalement sur l'image de façon basic
  • imagestring($image,$police,$coordonnee_x,$coordonnee_y,$texte,$couleur);
  • Variable : $image : identifiant de l'image, $police : de 1 à 5 pour les polices par défaut (vous pouvez charger une autre police mais il faut une autre gd
  • installée, voyez plutôt imagettftext() qui suit quelque ligne plus bas),$coordonnee_x : position du texte par rapport au coté gauche de l'image, $coordonnee_y
  • : position du texte par rapport au haut de l'image, $texte : J?explique pas ça quand même ;) lol, $couleur : couleur de la police
  • Ecrire verticalement sur l'image de façon basic
  • imagestringUP($image,$police,$coordonnee_x,$coordonnee_y,$texte,$couleur);
  • Variable : $image : identifiant de l'image, $police : de 1 à 5 pour les polices par défaut (vous pouvez charger une autre police mais il faut une autre gd
  • installée, voyez plutôt imagettftext() qui suit quelque ligne plus bas),$coordonnee_x : position du texte par rapport au coté gauche de l'image, $coordonnee_y
  • : position du texte par rapport au haut de l'image, $texte : j'explique pas ça quand même ;) lol, $couleur : couleur de la police
  • Ecrire de façon totalement libre avec la police que vous voulez
  • imagettftext($image,$taille,$angle,$coordonnee_x,$coordonnee_y,$couleur,$nompolice,$texte);
  • Variable : $image : identifiant de l'image, $taille : Taille de la police, $angle : inclinaison du texte, $coordonnee_x : position du texte par rapAport au coté
  • gauche de l'image, $coordonnee_y : position du texte par rapport au haut de l'image, $couleur : couleur de la police, $nompolice : nom de la police (ou
  • chemin si elle n'est pas dans le dossier, $texte : j'explique pas ça quand même ;) lol
  • -------------------------
  • Dessiner sur une image
  • Dessiner une ligne pleine
  • imageLine($image, $coordonnée_x1, $coordonnee_y1, $coordonnée_x2, $coordonnee_y2, $couleur)
  • Variables : $image : identifiant de l'image, $coordonnée_x1 : point de départ par rapport au coté gauche de l'image, $coordonnee_y1 : point de départ par
  • rapport au haut de l'image, $coordonnée_x2 : point d'arrivé par rapport au coté gauche de l'image, $coordonnee_y2 : point d'arrivé par rapport haut de l'image,
  • $couleur = couleur du trait
  • Dessiner une ligne pointillée
  • imageDashedLine($image, $coordonnée_x1, $coordonnee_y1, $coordonnée_x2, $coordonnee_y2, $couleur)
  • Variables : $image : identifiant de l'image, $coordonnée_x1 : point de départ par rapport au coté gauche de l'image, $coordonnee_y1 : point de départ par
  • rapport au haut de l'image, $coordonnée_x2 : point d'arrivé par rapport au coté gauche de l'image, $coordonnee_y2 : point d'arrivé par rapport haut de l'image,
  • $couleur = couleur du trait
  • Dessiner une ellipse ou un arc
  • imageArc($image, $centre_X, $centre_Y, $largeur, $hauteur, $angledebut, $anglefin, $couleur)
  • Variables : $image : identifiant de l'image,
  • $centre_X : point du centre de l'éllipse par rapport au coté gauche de l'image, $centre_Y : point du centre de l'éllipse par rapport au haut de l'image, $largeur :
  • largeur de l'ellipse, $hauteur : hauteur de l'ellipse, $angledebut : angle en degrés ou commence le tracé, $anglefin : angle en degrés ou fini le tracé, $couleur =
  • couleur du trait
  • Dessiner une ellipse ou un cercle plein
  • imageArc($image, $centre_X, $centre_Y, $largeur, $hauteur, $angledebut, $anglefin, $couleur, $style)
  • Variables : $image : identifiant de l'image, $centre_X : point du centre de l'éllipse par rapport au coté gauche de l'image, $centre_Y A: point du centre de
  • l'éllipse par rapport au haut de l'image, $largeur : largeur de l'ellipse, $hauteur : hauteur de l'ellipse, $angledebut : angle en degrés ou commence le tracé,
  • $anglefin : angle en degrés ou fini le tracé, $couleur = couleur du trait, $style : Plusieurs style sont dispo et sont compatible entre eux : IMG_ARC_PIE,
  • IMG_ARC_CHORD, IMG_ARC_NOFILL, IMG_ARC_EDGED
  • Dessiner un rectangle
  • imagerectangle($image, $coordonnee_X1, $coordonnee_Y1, $coordonnee_X2, $coordonnee_Y2, $couleur);
  • Variables : $image : identifiant de l'image, $coordonnee_X1 : point de départ supérieur gauche par rapport à la gauche, $coordonnee_Y1 : point de départ
  • supérieur gauche par rapport au haut, $coordonnee_X2 : point de fin inférieure droit par rapport à la gauche, $coordonnee_Y2 : point de fin inférieure droit par
  • rapport au haut, $couleur : couleur du trait
  • Dessiner un rectangle plein
  • imageFilledrectangle($image, $coordonnee_X1, $coordonnee_Y1, $coordonnee_X2, $coordonnee_Y2, $couleur);
  • Variables : $image : identifiant de l'image, $coordonnee_X1 : point de départ supérieur gauche par rapport à la gauche, $coordonnee_Y1 : point de départ
  • supérieur gauche par rapport au haut, $coordonnee_X2 : point de fin inférieure droit par rapport à la gauche, $coordonnee_Y2 : point de fin inférieure droit par
  • rapport au haut, $couleur : couleur du trait
  • Dessiner un polygone (256 points max)
  • imagePolygon($image, $point[TABLEAU], $nbpoint, $couleur);
  • Variables : $image : identifiant de l'image, $point contient les coordonnées de tous les points : $coordonnee_X1 : point 1 par rapport à la gauche,
  • $coordonnee_Y1 : point 1 par rapport au haut, $coordonnee_X2 : point 2 par rapport à la gauche, $coordonnee_Y2 : point 2 par rapport au haut,
  • $coordonnee_.............., $nbpoint : la moitié du nombre de point dans le tableau, $couleur : couleur du trait
  • Dessiner un polygone plein(256 points max)
  • imageFilledPolygon($image, $point[TABLEAU], $nbpoint, $couleur);
  • Variables : $image : identifiant de l'image, $point contient les coorAdonnées de tous les points : $coordonnee_X1 : point 1 par rapport à la gauche,
  • $coordonnee_Y1 : point 1 par rapport au haut, $coordonnee_X2 : point 2 par rapport à la gauche, $coordonnee_Y2 : point 2 par rapport au haut,
  • $coordonnee_.............., $nbpoint : la moitié du nombre de point dans le tableau, $couleur : couleur du trait
  • -------------------------
  • Copie d'image
  • Copier une partie d'une image dans une autre image
  • imagecopy($imagedest,$imagesource,$coordonnee_xdest,$coordonnee_ydest,$coordonnee_xsource,$coordonnee_ysource,$largeursource,$hauteursource);
  • Variables : $imagedest : identifiant de l'image de destination, $imagesource : identifiant de l'image source, $coordonnee_xdest : point par rapport à la gauche
  • sur l'image de destination la ou vous voulez copier, $coordonnee_ydest : point par rapport au haut sur l'image de destination la ou vous voulez copier,
  • $coordonnee_xsource : point par rapport à la gauche sur l'image source, $coordonnee_ysource : point par rapport au haut sur l'image source, $largeursource :
  • largeur du morceau d'image à récupérer, $hauteursource : hauteur du morceau d'image à récupérer
  • Copier une partie d'une image dans une autre image avec effet de transparence
  • imagecopymerge($imagedest,$imagesource,$coordonnee_xdest,$coordonnee_ydest,$coordonnee_xsource,$coordonnee_ysource,$largeursource,$hauteurso
  • urce);
  • Variables : $imagedest : identifiant de l'image de destination, $imagesource : identifiant de l'image source, $coordonnee_xdest : point par rapport à la gauche
  • sur l'image de destination la ou vous voulez copier, $coordonnee_ydest : point par rapport au haut sur l'image de destination la ou vous voulez copier,
  • $coordonnee_xsource : point par rapport à la gauche sur l'image source, $coordonnee_ysource : point par rapport au haut sur l'image source, $largeursource :
  • largeur du morceau d'image à récupérer, $hauteursource : hauteur du morceau d'image à récupérer, $trans : cooef de transparence
  • Copier une partie d'une image dans une autre image en changeant de taille lAa sélection
  • imagecopyresized($imagedest,$imagesource,$coordonnee_xdest,$coordonnee_ydest,$coordonnee_xsource,$coordonnee_ysource,
  • $largeurdest,$hauteurdest ,$largeursource,$hauteursource);
  • Variables : $imagedest : identifiant de l'image de destination, $imagesource : identifiant de l'image source, $coordonnee_xdest : point par rapport à la gauche
  • sur l'image de destination la ou vous voulez copier, $coordonnee_ydest : point par rapport au haut sur l'image de destination la ou vous voulez copier,
  • $coordonnee_xsource : point par rapport à la gauche sur l'image source, $coordonnee_ysource : point par rapport au haut sur l'image source, $largeurdest :
  • largeur de l'image une fois copiée , $hauteurdest : hauteur de l'image une fois copiée, $largeursource : largeur du morceau d'image à récupérer,
  • $hauteursource : hauteur du morceau d'image à récupérer, $trans : cooef de transparence
  • Copier une partie d'une image dans une autre image en changeant de taille la sélection (méthode non pixelisée)
  • imagecopyresampled($imagedest,$imagesource,$coordonnee_xdest,$coordonnee_ydest,$coordonnee_xsource,$coordonnee_ysource,
  • $largeurdest,$hauteurdest ,$largeursource,$hauteursource);
  • Variables : $imagedest : identifiant de l'image de destination, $imagesource : identifiant de l'image source, $coordonnee_xdest : point par rapport à la gauche
  • sur l'image de destination la ou vous voulez copier, $coordonnee_ydest : point par rapport au haut sur l'image de destination la ou vous voulez copier,
  • $coordonnee_xsource : point par rapport à la gauche sur l'image source, $coordonnee_ysource : point par rapport au haut sur l'image source, $largeurdest :
  • largeur de l'image une fois copiée , $hauteurdest : hauteur de l'image une fois copiée, $largeursource : largeur du morceau d'image à récupérer,
  • $hauteursource : hauteur du morceau d'image à récupérer, $trans : cooef de transparence
  • Copier une image avec un fond transparent sur une image sans fond transparent (et inversement)
  • imagealphablending($image,$alpha);
  • Variables : $image : identiAfiant de l'image, $alpha : TRUE pour garder la transparence, sinon FALSE. Par défaut c'est FALSE.
  • -------------------------
  • Taille d'une image
  • Largeur
  • imageSX($image);
  • Variable : $image : identifiant de l'image
  • Hauteur
  • imageSY($image);
  • Variable : $image : identifiant de l'image
  • Divers
  • Getimagesize($nom);
  • Variable : $nom : nom ou chemin du fichier
  • Renvoi un tableau :
  • [0] -> largeur en pixel
  • [1] -> hauteur en pixel
  • [2] -> Format (1 : GIF, 2 : JPG, 3 : PNG, 4 : SWF, 5 : PSD, 6 : BMP, 7 : TIFF(intel), 8 : TIFF(motorola), 9 : JPC, 10 : JP2, 11 JPX)
  • [3] -> code html de la taille d'une image witdh="xx" height="xx"
  • -------------------------
  • Modification des entêtes
  • Affichage de GIF
  • header("Content-type: image/gif");
  • Affichage de JPEG
  • header("Content-type: image/jpeg");
  • Affichage de PNG
  • header("Content-type: image/png");
  • ===== ATTENTION =====
  • La modification des entêtes empeche l'affichage des messages d'erreur (si vous modifiez les entêtes pour afficher une image et qu'une erreur se produit, le
  • message ne s'affichera pas puisque le navigateur attend une image).
  • Donc ne modifiez les entêtes que juste AVANT LA CREATION DE L'IMAGE et pas en haut du script.
  • -------------------------
  • Génération de l'image : Envoyer l'image au navigateur ou l'enregistrer dans le format voulu
  • Un GIF :
  • ImageGIF($image,$nom);
  • Variables : $image = identifiant de l'image, $nom = nom final de l'image AVEC le .GIF
  • Si $nom est vide, l'image ne sera pas enregistrée dans un fichier mais juste envoyée au navigateur.
  • Un JPEG :
  • ImageJPEG($image,$nom);
  • Variables : $image = identifiant de l'image, $nom = nom final de l'image AVEC le .JPEG
  • Si $nom est vide, l'image ne sera pas enregistrée dans un fichier mais juste envoyée au navigateur.
  • Un PNG :
  • ImagePNG($image,$nom);
  • Variables : $image = identifiant de l'image, $nom = nom final de l'image AVEC le .PNG
  • Si $nom est vide, l'image ne sera pas enregistrée dans un fichier mais juste envoyée au navigateur.
  • L'image est donc réellement créée. Le fichier existe sur le serveur (si vous lui avez donnez un nom)
  • Mais les ressources utilisées par le serveur pour la créer sont toujours occupées.
  • -------------------------
  • Libération des ressources
  • ImageDestroy();
  • Variable : Aucune
  • Utilisation des images dynamiques :
  • + Si vous créez une image dans un fichier et que vous voulez l'afficher dans une page écrivez <img src="nomdelapageduscript.php">.
  • >>>>>>>> Page imagecreate.php
  • <?
  • //Création de l'identifiant de l'image
  • $image = imagecreate(200,400);
  • // couleur de fond de l'image
  • $fond = imagecolorallocate($image,0,0,0);
  • // définition des couleurs
  • $blanc = imagecolorresolve($image,255,255,255);
  • $rouge = imagecolorresolve($image,240,0,0);
  • $bleu = imagecolorresolve($image,150,150,255);
  • $vert = imagecolorresolve($image,0,150,0);
  • // On écrit une petite pub pour mon site
  • imagettftext($image,20,350,10,20,$blanc,"DEFTONE.TTF","http://www.kame-house.org");
  • // On souligne pour mettre en évidence
  • imagedashedline($image,15,30,180,60,$rouge);
  • // On met un petit menu
  • imagettftext($image,18,0,10,75,$bleu,"DEFTONE.TTF","- Accueil");
  • imagettftext($image,18,0,10,100,$bleu,"DEFTONE.TTF","- Identification");
  • imagettftext($image,18,0,10,125,$bleu,"DEFTONE.TTF","- Boite de reception");
  • imagettftext($image,18,0,10,150,$bleu,"DEFTONE.TTF","- Livre d'or");
  • // On dessine une fleche
  • imagefilledpolygon($image,array(150,200,140,250,190,300,100,250,150,200),5,$bleu);
  • // On écrit encore
  • imagettftext($image,25,0,20,250,$rouge,"DEFTONE.TTF","Image");
  • imagettftext($image,25,0,10,270,$rouge,"DEFTONE.TTF","Dynamik");
  • // Image a copier en partie
  • $imagesource = imagecreatefromjpeg("coyot.jpg");
  • // On prend un petit morceau de l'image, on le rend presque transparente et on le colle
  • imagecopymerge($image,$imagesource,25,285,80,80,100,100,35);
  • imagettftext($image,18,270,180,100,$vert,"DEFTONE.TTF","========= Copyright Tortue Geniale =========");
  • // modification des entêtes
  • header("Content-type: image/jpeg");
  • // Envoi au navigateur
  • imagejpeg($image, "",100);
  • // Libération des ressources
  • imagedestroy();
  • ?>
-------------------------
Créer un identifiant d'image

Image 256 couleurs
$image = imageCreate($largeur,$hauteur);
Variables : largeur et hauteur en pixel

Image 16 millions de couleurs
$image = imageCreateTrueColor($largeur,$hauteur);
Variables : largeur et hauteur en pixel


-------------------------
Créer un identifiant d'image à partir d'une autre image

Un GIF :
$image = ImageCreateFromGIF($nomfichier);
Variable : Nom du fichier à copier (et son chemin s?il n'est pas dans le même dossier)

Un JPEG :
$image = ImageCreateFromJPEG($nomfichier);
Variable : Nom du fichier à copier (et son chemin s?il n'est pas dans le même dossier)

Un PNG :
$image = ImageCreateFromPNG($nomfichier);
Variable : Nom du fichier à copier (et son chemin s?il n'est pas dans le même dossier)

$image contiendra donc l'identifiant de l'image sur lequel sera effectué les divers travaux


-------------------------
Donner une couleur de fond à l'image et création de sa palette de couleurs

Ajouter une couleur à la palette (cette fonction retourne un identifiant de couleur) :
$couleur = ImageColorAllocate($image,$rouge,$vert,$bleu);
Variables : $image : identifiant de l'image, $rouge : entre 0 et 255, $vert : entre 0 et 255, $bleu : entre 0 et 255
Note : cette fonction ne sert pas qu'à ça mais elle définie la couleur du fond la 1ere fois qu'elle est utilisée.

Couleur la plus proche de la couleur voulue et création de la couleur si elle n'existe pas dans la palette. L'identifiant de la couleur la plus proche de cette 

couleur est retournée dans le cas ou la palette est pleine.
Ne tien pas compte de la transparence
$couleur = imageColorResolve($image, $rouge, $vert, $bleu);
Variables : $image : ideAntifiant de l'image, $rouge : entre 0 et 255, $vert : entre 0 et 255, $bleu : entre 0 et 255

Couleur la plus proche de la couleur voulue et création de la couleur si elle n'existe pas dans la palette. L'identifiant de la couleur la plus proche de cette 

couleur est retournée dans le cas ou la palette est pleine.
Tien compte de la transparence
$couleur = imageColorResolve($image, $rouge, $vert, $bleu, $alpha);
Variables : $image : identifiant de l'image, $rouge : entre 0 et 255, $vert : entre 0 et 255, $bleu : entre 0 et 255, $alpha


-------------------------
Ecrire sur une image

Ecrire horizontalement sur l'image de façon basic
imagestring($image,$police,$coordonnee_x,$coordonnee_y,$texte,$couleur);
Variable : $image : identifiant de l'image, $police : de 1 à 5 pour les polices par défaut (vous pouvez charger une autre police mais il faut une autre gd 

installée, voyez plutôt imagettftext() qui suit quelque ligne plus bas),$coordonnee_x : position du texte par rapport au coté gauche de l'image, $coordonnee_y 

: position du texte par rapport au haut de l'image, $texte : J?explique pas ça quand même ;) lol, $couleur : couleur de la police

Ecrire verticalement sur l'image de façon basic
imagestringUP($image,$police,$coordonnee_x,$coordonnee_y,$texte,$couleur);
Variable : $image : identifiant de l'image, $police : de 1 à 5 pour les polices par défaut (vous pouvez charger une autre police mais il faut une autre gd 

installée, voyez plutôt imagettftext() qui suit quelque ligne plus bas),$coordonnee_x : position du texte par rapport au coté gauche de l'image, $coordonnee_y 

: position du texte par rapport au haut de l'image, $texte : j'explique pas ça quand même ;) lol, $couleur : couleur de la police

Ecrire de façon totalement libre avec la police que vous voulez
imagettftext($image,$taille,$angle,$coordonnee_x,$coordonnee_y,$couleur,$nompolice,$texte);
Variable : $image : identifiant de l'image, $taille : Taille de la police, $angle : inclinaison du texte, $coordonnee_x : position du texte par rapAport au coté 

gauche de l'image, $coordonnee_y : position du texte par rapport au haut de l'image, $couleur : couleur de la police, $nompolice : nom de la police (ou 

chemin si elle n'est pas dans le dossier, $texte : j'explique pas ça quand même ;) lol


-------------------------
Dessiner sur une image

Dessiner une ligne pleine
imageLine($image, $coordonnée_x1, $coordonnee_y1, $coordonnée_x2, $coordonnee_y2, $couleur)
Variables : $image : identifiant de l'image, $coordonnée_x1 : point de départ par rapport au coté gauche de l'image, $coordonnee_y1 : point de départ par 

rapport au haut de l'image, $coordonnée_x2 : point d'arrivé par rapport au coté gauche de l'image, $coordonnee_y2 : point d'arrivé par rapport haut de l'image, 

$couleur = couleur du trait

Dessiner une ligne pointillée
imageDashedLine($image, $coordonnée_x1, $coordonnee_y1, $coordonnée_x2, $coordonnee_y2, $couleur)
Variables : $image : identifiant de l'image, $coordonnée_x1 : point de départ par rapport au coté gauche de l'image, $coordonnee_y1 : point de départ par 

rapport au haut de l'image, $coordonnée_x2 : point d'arrivé par rapport au coté gauche de l'image, $coordonnee_y2 : point d'arrivé par rapport haut de l'image, 

$couleur = couleur du trait

Dessiner une ellipse ou un arc
imageArc($image, $centre_X, $centre_Y, $largeur, $hauteur, $angledebut, $anglefin, $couleur)
Variables : $image : identifiant de l'image,
$centre_X : point du centre de l'éllipse par rapport au coté gauche de l'image, $centre_Y : point du centre de l'éllipse par rapport au haut de l'image, $largeur : 

largeur de l'ellipse, $hauteur : hauteur de l'ellipse, $angledebut : angle en degrés ou commence le tracé, $anglefin : angle en degrés ou fini le tracé, $couleur = 

couleur du trait

Dessiner une ellipse ou un cercle plein
imageArc($image, $centre_X, $centre_Y, $largeur, $hauteur, $angledebut, $anglefin, $couleur, $style)
Variables : $image : identifiant de l'image, $centre_X : point du centre de l'éllipse par rapport au coté gauche de l'image, $centre_Y A: point du centre de 

l'éllipse par rapport au haut de l'image, $largeur : largeur de l'ellipse, $hauteur : hauteur de l'ellipse, $angledebut : angle en degrés ou commence le tracé, 

$anglefin : angle en degrés ou fini le tracé, $couleur = couleur du trait, $style : Plusieurs style sont dispo et sont compatible entre eux : IMG_ARC_PIE, 

IMG_ARC_CHORD, IMG_ARC_NOFILL, IMG_ARC_EDGED

Dessiner un rectangle
imagerectangle($image, $coordonnee_X1, $coordonnee_Y1, $coordonnee_X2, $coordonnee_Y2, $couleur);
Variables : $image : identifiant de l'image, $coordonnee_X1 : point de départ supérieur gauche par rapport à la gauche, $coordonnee_Y1 : point de départ 

supérieur gauche par rapport au haut, $coordonnee_X2 : point de fin inférieure droit par rapport à la gauche, $coordonnee_Y2 : point de fin inférieure droit par 

rapport au haut, $couleur : couleur du trait

Dessiner un rectangle plein
imageFilledrectangle($image, $coordonnee_X1, $coordonnee_Y1, $coordonnee_X2, $coordonnee_Y2, $couleur);
Variables : $image : identifiant de l'image, $coordonnee_X1 : point de départ supérieur gauche par rapport à la gauche, $coordonnee_Y1 : point de départ 

supérieur gauche par rapport au haut, $coordonnee_X2 : point de fin inférieure droit par rapport à la gauche, $coordonnee_Y2 : point de fin inférieure droit par 

rapport au haut, $couleur : couleur du trait

Dessiner un polygone (256 points max)
imagePolygon($image, $point[TABLEAU], $nbpoint, $couleur);
Variables : $image : identifiant de l'image, $point contient les coordonnées de tous les points : $coordonnee_X1 : point 1 par rapport à la gauche, 

$coordonnee_Y1 : point 1 par rapport au haut, $coordonnee_X2 : point 2 par rapport à la gauche, $coordonnee_Y2 : point 2 par rapport au haut, 

$coordonnee_.............., $nbpoint : la moitié du nombre de point dans le tableau, $couleur : couleur du trait

Dessiner un polygone plein(256 points max)
imageFilledPolygon($image, $point[TABLEAU], $nbpoint, $couleur);
Variables : $image : identifiant de l'image, $point contient les coorAdonnées de tous les points : $coordonnee_X1 : point 1 par rapport à la gauche, 

$coordonnee_Y1 : point 1 par rapport au haut, $coordonnee_X2 : point 2 par rapport à la gauche, $coordonnee_Y2 : point 2 par rapport au haut, 

$coordonnee_.............., $nbpoint : la moitié du nombre de point dans le tableau, $couleur : couleur du trait


-------------------------
Copie d'image

Copier une partie d'une image dans une autre image
imagecopy($imagedest,$imagesource,$coordonnee_xdest,$coordonnee_ydest,$coordonnee_xsource,$coordonnee_ysource,$largeursource,$hauteursource);
Variables : $imagedest : identifiant de l'image de destination, $imagesource : identifiant de l'image source, $coordonnee_xdest : point par rapport à la gauche 

sur l'image de destination la ou vous voulez copier, $coordonnee_ydest : point par rapport au haut sur l'image de destination la ou vous voulez copier, 

$coordonnee_xsource : point par rapport à la gauche sur l'image source, $coordonnee_ysource : point par rapport au haut sur l'image source, $largeursource : 

largeur du morceau d'image à récupérer, $hauteursource : hauteur du morceau d'image à récupérer

Copier une partie d'une image dans une autre image avec effet de transparence
imagecopymerge($imagedest,$imagesource,$coordonnee_xdest,$coordonnee_ydest,$coordonnee_xsource,$coordonnee_ysource,$largeursource,$hauteurso

urce);
Variables : $imagedest : identifiant de l'image de destination, $imagesource : identifiant de l'image source, $coordonnee_xdest : point par rapport à la gauche 

sur l'image de destination la ou vous voulez copier, $coordonnee_ydest : point par rapport au haut sur l'image de destination la ou vous voulez copier, 

$coordonnee_xsource : point par rapport à la gauche sur l'image source, $coordonnee_ysource : point par rapport au haut sur l'image source, $largeursource : 

largeur du morceau d'image à récupérer, $hauteursource : hauteur du morceau d'image à récupérer, $trans : cooef de transparence

Copier une partie d'une image dans une autre image en changeant de taille lAa sélection
imagecopyresized($imagedest,$imagesource,$coordonnee_xdest,$coordonnee_ydest,$coordonnee_xsource,$coordonnee_ysource, 

$largeurdest,$hauteurdest ,$largeursource,$hauteursource);
Variables : $imagedest : identifiant de l'image de destination, $imagesource : identifiant de l'image source, $coordonnee_xdest : point par rapport à la gauche 

sur l'image de destination la ou vous voulez copier, $coordonnee_ydest : point par rapport au haut sur l'image de destination la ou vous voulez copier, 

$coordonnee_xsource : point par rapport à la gauche sur l'image source, $coordonnee_ysource : point par rapport au haut sur l'image source, $largeurdest : 

largeur de l'image une fois copiée , $hauteurdest : hauteur de l'image une fois copiée, $largeursource : largeur du morceau d'image à récupérer, 

$hauteursource : hauteur du morceau d'image à récupérer, $trans : cooef de transparence

Copier une partie d'une image dans une autre image en changeant de taille la sélection (méthode non pixelisée)
imagecopyresampled($imagedest,$imagesource,$coordonnee_xdest,$coordonnee_ydest,$coordonnee_xsource,$coordonnee_ysource, 

$largeurdest,$hauteurdest ,$largeursource,$hauteursource);
Variables : $imagedest : identifiant de l'image de destination, $imagesource : identifiant de l'image source, $coordonnee_xdest : point par rapport à la gauche 

sur l'image de destination la ou vous voulez copier, $coordonnee_ydest : point par rapport au haut sur l'image de destination la ou vous voulez copier, 

$coordonnee_xsource : point par rapport à la gauche sur l'image source, $coordonnee_ysource : point par rapport au haut sur l'image source, $largeurdest : 

largeur de l'image une fois copiée , $hauteurdest : hauteur de l'image une fois copiée, $largeursource : largeur du morceau d'image à récupérer, 

$hauteursource : hauteur du morceau d'image à récupérer, $trans : cooef de transparence

Copier une image avec un fond transparent sur une image sans fond transparent (et inversement)
imagealphablending($image,$alpha);
Variables : $image : identiAfiant de l'image, $alpha : TRUE pour garder la transparence, sinon FALSE. Par défaut c'est FALSE.


-------------------------
Taille d'une image

Largeur
imageSX($image);
Variable : $image : identifiant de l'image

Hauteur
imageSY($image);
Variable : $image : identifiant de l'image

Divers
Getimagesize($nom);
Variable : $nom : nom ou chemin du fichier
Renvoi un tableau :
[0] -> largeur en pixel
[1] -> hauteur en pixel
[2] -> Format (1 : GIF, 2 : JPG, 3 : PNG, 4 : SWF, 5 : PSD, 6 : BMP, 7 : TIFF(intel), 8 : TIFF(motorola), 9 : JPC, 10 : JP2, 11 JPX)
[3] -> code html de la taille d'une image witdh="xx" height="xx"


-------------------------
Modification des entêtes

Affichage de GIF
header("Content-type: image/gif");

Affichage de JPEG
header("Content-type: image/jpeg");

Affichage de PNG
header("Content-type: image/png");

===== ATTENTION =====
La modification des entêtes empeche l'affichage des messages d'erreur (si vous modifiez les entêtes pour afficher une image et qu'une erreur se produit, le 

message ne s'affichera pas puisque le navigateur attend une image).
Donc ne modifiez les entêtes que juste AVANT LA CREATION DE L'IMAGE et pas en haut du script.

-------------------------
Génération de l'image : Envoyer l'image au navigateur ou l'enregistrer dans le format voulu

Un GIF :
ImageGIF($image,$nom);
Variables : $image = identifiant de l'image,  $nom = nom final de l'image AVEC le .GIF
Si $nom est vide, l'image ne sera pas enregistrée dans un fichier mais juste envoyée au navigateur.

Un JPEG :
ImageJPEG($image,$nom);
Variables : $image = identifiant de l'image,  $nom = nom final de l'image AVEC le .JPEG
Si $nom est vide, l'image ne sera pas enregistrée dans un fichier mais juste envoyée au navigateur.

Un PNG :
ImagePNG($image,$nom);
Variables : $image = identifiant de l'image,  $nom = nom final de l'image AVEC le .PNG
Si $nom est vide, l'image ne sera pas enregistrée dans un fichier mais juste envoyée au navigateur.

L'image est donc réellement créée. Le fichier existe sur le serveur (si vous lui avez donnez un nom)
Mais les ressources utilisées par le serveur pour la créer sont toujours occupées.


-------------------------
Libération des ressources

ImageDestroy();
Variable : Aucune


Utilisation des images dynamiques :
+ Si vous créez une image dans un fichier et que vous voulez l'afficher dans une page écrivez <img src="nomdelapageduscript.php">.




>>>>>>>> Page imagecreate.php

<?
//Création de l'identifiant de l'image
$image = imagecreate(200,400);

// couleur de fond de l'image
$fond = imagecolorallocate($image,0,0,0);

// définition des couleurs
$blanc = imagecolorresolve($image,255,255,255);
$rouge = imagecolorresolve($image,240,0,0);
$bleu = imagecolorresolve($image,150,150,255);
$vert = imagecolorresolve($image,0,150,0);

// On écrit une petite pub pour mon site
imagettftext($image,20,350,10,20,$blanc,"DEFTONE.TTF","http://www.kame-house.org");

// On souligne pour mettre en évidence
imagedashedline($image,15,30,180,60,$rouge);

// On met un petit menu
imagettftext($image,18,0,10,75,$bleu,"DEFTONE.TTF","- Accueil");
imagettftext($image,18,0,10,100,$bleu,"DEFTONE.TTF","- Identification");
imagettftext($image,18,0,10,125,$bleu,"DEFTONE.TTF","- Boite de reception");
imagettftext($image,18,0,10,150,$bleu,"DEFTONE.TTF","- Livre d'or");

// On dessine une fleche
imagefilledpolygon($image,array(150,200,140,250,190,300,100,250,150,200),5,$bleu);

// On écrit encore
imagettftext($image,25,0,20,250,$rouge,"DEFTONE.TTF","Image");
imagettftext($image,25,0,10,270,$rouge,"DEFTONE.TTF","Dynamik");

// Image a copier en partie
$imagesource = imagecreatefromjpeg("coyot.jpg");

// On prend un petit morceau de l'image, on le rend presque transparente et on le colle
imagecopymerge($image,$imagesource,25,285,80,80,100,100,35);

imagettftext($image,18,270,180,100,$vert,"DEFTONE.TTF","========= Copyright Tortue Geniale =========");

// modification des entêtes
header("Content-type: image/jpeg");
// Envoi au navigateur
imagejpeg($image, "",100);

// Libération des ressources
imagedestroy();
?>

Conclusion

Je n'ai pas mis toutes les fonctions (sinon j'y serai encore lol) mais juste celle que j'utilise ainsi que les plus utiles.
J'ai l'habitude de ne pas macher le travail, pourquoi changer aujourd'hui :p lol

Pour completer ce tutorial, vous pouvez regarder du coté de la palette et de sa gestion.

ATTENTION : certaines fonctions (comme imagecreatefromgif();) ne fonction qu'avec une GD 2.0 et pas inférieur. Donc Sous Easy PHP 1.6 ça ne passe pas.

Le Zip contient :
+ Le tuto en .txt
+ L'image que j'ai utilisé pour l'exemple
+ La police (jolie d'ailleur)
+ La page PHP de l'exemple

L'exemple c'est comme d'habitude : Copier coller et ça marche.

Voila bon coding ;)
http://www.kame-house.org
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de bartart le 14/11/2003 10:51:25

    je souhaite remercier Tortuegeniale pour ces tutoriaux d'une clarté qui défierait tous les cour possible et imaginable.

  • signaler à un administrateur
    Commentaire de Kirua le 14/11/2003 16:44:11

    voeu exaucé

  • signaler à un administrateur
    Commentaire de pcman5 le 14/11/2003 17:55:50

    ;) parfait tous ca
    10 :D

  • signaler à un administrateur
    Commentaire de eax le 19/11/2003 06:58:01

    excellent!

  • signaler à un administrateur
    Commentaire de samirog le 25/11/2003 13:49:37

    Génial 10/10!

  • signaler à un administrateur
    Commentaire de TRASH52 le 28/11/2003 15:31:19

    Petite rectification, le traitement des gifs se fait grace gdgif, gd2 ne traite pas les gifs et imagecreatetruecolor n'est présente que dans gd2.
    gd2 est bien présente dans easyphp 1.6. Il suffit de désactiver la gd de base et d'activer la gd2.
    J'ajouterais pour finir que imagecopyresized et imagecopyresampled ont le meme effet mais on obtiendra un meilleur résultat avec  la seconde par contre le temps d'éxécution est plus long!

  • signaler à un administrateur
    Commentaire de seed le 11/02/2004 23:18:05

    salut je cherche depuis pas mal de temp le moyen de mofifier la largeur d'une ligne tracé avec ImageLine ou autre personne ne pourrait m'aider??? merci

  • signaler à un administrateur
    Commentaire de Kirua le 12/02/2004 07:36:49

    à mon avis, tu dois tracer toi même plusieurs fois la même ligne d'un pixel de largeur l'une à côté de l'autre.

    note bien que je suis pas certain que tu sois obligé de faire comme ça

  • signaler à un administrateur
    Commentaire de tolu le 31/05/2004 15:42:35

    Super code et qui marche .pour le tuto je mets 10 sans commentaire car simplement limpide.
    Juste une petite question sur la démo que tu as mis ds le zip:
    comment faire pour mettre un lien sur les caractéres que tu met sur les images.
    pour rendre actif ton petit menu par exemple.
    Merci en tout cas pour tout ça!

  • signaler à un administrateur
    Commentaire de Kirua le 31/05/2004 15:48:40

    pr faire une lien sur uen zone de l'image tu dois utiliser les &lt;map&gt; du HTML, tu n'as pas besoin de fonctions GD pour ça.

    génère ta map avec des "echo" (php) en récupérant les coordonnées de la zone qui contient le texte dans l'image.

  • signaler à un administrateur
    Commentaire de piedpierre le 04/07/2004 22:42:51

    est-ce qu quelqu'un saurait comment afficher des images de formats indifférents (gif,jpg,bmp,png) en ayant gd2 sur le serveur. En effet gd2 ne traite pas les gifs alors y a t-il une solution pour visualiser ou creer des vignettes à partir de gif et bmp? En tout cas ce code est très très clair..

  • signaler à un administrateur
    Commentaire de Kirua le 09/07/2004 04:52:13

    le format GIF est proprietaire, cest pour ca quils ont du arreter de le supporter. a priori, tu ne devrais pas trouver de librairie open source pour ce format en ecriture. pr ce qui est de la lecture, je pense que ca doit etre trouvable (dailleurs, pr autant que je me souvienne, GD le fait, non ?)

  • signaler à un administrateur
    Commentaire de seed le 09/07/2004 10:30:24

    il me semble avoir lu que ce problème avec e GIF seraient bientot finis
    http://www.zdnet.fr/actualites/technologie/0,39020809,2135819,00.htm

    sinon il existe des patchs pour que gd prenne en charge le gif.

  • signaler à un administrateur
    Commentaire de rambaudf le 02/09/2004 10:46:30

    Apparament c'est super, mais je n'arrive pas à faire tourner le script (site sur free)
    Extrait :

    Warning: imagettftext(): Could not find/open font in /var/www/free.fr/1/4/freeroulottes/TestFont/imagecreate.php on line 15

    Warning: imagettftext(): Could not find/open font in /var/www/free.fr/1/4/freeroulottes/TestFont/imagecreate.php on line 21

    Warning: imagettftext(): Could not find/open font in /var/www/free.fr/1/4/freeroulottes/TestFont/imagecreate.php on line 22

    Warning: imagettftext(): Could not find/open font in /var/www/free.fr/1/4/freeroulottes/TestFont/imagecreate.php on line 23

    Warning: imagettftext(): Could not find/open font in /var/www/free.fr/1/4/freeroulottes/TestFont/imagecreate.php on line 24

    Warning: imagettftext(): Could not find/open font in /var/www/free.fr/1/4/freeroulottes/TestFont/imagecreate.php on line 30

    Warning: imagettftext(): Could not find/open font in /var/www/free.fr/1/4/freeroulottes/TestFont/imagecreate.php on line 31

    Warning: imagettftext(): Could not find/open font in /var/www/free.fr/1/4/freeroulottes/TestFont/imagecreate.php on line 39

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/1/4/freeroulottes/TestFont/imagecreate.php:15) in /var/www/free.fr/1/4/freeroulottes/TestFont/imagecreate.php on line 42


    Je crois comprendre que c'est une histoire de chemin absolu pour trouver le fichier font, mais tourne zou, vire zou, j'y arrive pas .
    J'ai essayé des :
    $font=$DOCUMENT_ROOT."/DEFTONE.TTF";
    ou bien
    $font = realpath("DEFTONE.TTF");

    rien à faire !
    J'en ai ras le c...

  • signaler à un administrateur
    Commentaire de Kirua le 02/09/2004 21:16:01

    excuse-moi cette question, tu te sentiras pê insulté, mais... est-ce que tu as deftone.ttf? et est-ce que tu as respecté la "casse" du nom du fichier? (càd majuscules/minuscules).

  • signaler à un administrateur
    Commentaire de Tortuegeniale le 02/09/2004 21:58:33

    lol

  • signaler à un administrateur
    Commentaire de rambaudf le 03/09/2004 08:52:23

    >excuse-moi cette question, tu te sentiras pê insulté,
    C'est pas le genre de la maison !

    >mais... est-ce que tu as deftone.ttf?
    Yes

    >et est-ce que tu as respecté la "casse" du nom du >fichier? (càd majuscules/minuscules
    Bingo ! Cétait bien ca qui déconnait, et ca roule super.
    Merci beaucoup.

  • signaler à un administrateur
    Commentaire de Kirua le 03/09/2004 09:44:57

    tu m'en vois ravi ^^
    tu m'excuseras d'avoir pris des pincettes, c'est qu'il y a des gens très susceptibles! ;) content de voir que tu es plus relax.

  • signaler à un administrateur
    Commentaire de Tortuegeniale le 03/09/2004 13:44:23

    Kirua> des gens susceptibles ici ? noooooonnnn y en a  ? ^^

  • signaler à un administrateur
    Commentaire de piedpierre le 17/12/2004 18:04:02

    bon, en fait pour les gifs, j'utilise un simple stretch d'image à la source et c'est bon... c'était juste pour l'afficher.... je profite de l'okaze pour poser une petite question car je voudrais mettre une image de plusieurs couleurs en 2 seulements...
    ya bien une fonction imagecolorstotal mais elle ne me retourne que 0 ???  alors je peux pas modifier avec imagecolorsforindex (dont je ne comprend pas super bien le fonctionnement d'ailleurs...) et imagecolorset. j'ai vu des scripts dans ce sens mais il ne me retourne que mon image d'origine??? à cause de ce imagecolorstotal à 0!!

  • signaler à un administrateur
    Commentaire de 1Pyrrah1 le 30/07/2006 12:59:12

    "ATTENTION : certaines fonctions (comme imagecreatefromgif();) ne fonction qu'avec une GD 2.0 et pas inférieur. Donc Sous Easy PHP 1.6 ça ne passe pas."

    Depuis il y a eu une mise à jour 1.7: EasyPHP possède la librairie GD 2.0.

    Voilà, c'étais juste pour dire.
    Sinon j'aime bien ta source :)

    8/10

  • signaler à un administrateur
    Commentaire de Tortuegeniale le 30/07/2006 13:31:03

    En meme temps pour bosser avec un GD inférieur à 2.0, faut en vouloir

  • signaler à un administrateur
    Commentaire de rheu le 04/08/2006 10:57:19

    J'ai testé le code qui est très bien, mais lorsque j'ai ajouté "truecolor" à imagecreate, plus de texte (imagettftext) ! où est l'astuce ?

  • signaler à un administrateur
    Commentaire de younes371 le 01/10/2006 23:06:09

    Bonjour, je suis entrain de developper une application web (php/mysql).
    Je ve que lorsque les clients ajoutent une annonce(dans un formulaire), puissent aussi aujouter une image, et je dois stocker cette image ds ma base.
    je ve juste le code comment parcourir une image et la stocké et en fin pouvoir l afficher.
    Merci

  • signaler à un administrateur
    Commentaire de kurahai le 09/10/2006 08:57:57

    bonjour, qq pourais me dir quel type est la variable $image ?
    car je suis entrain de fair une DTB/BDD mysql pour y stoquer des images et crée un site en 1 seul fichier (pari entre potes de bahu) le site marche mais j'aimerais y metre quelque image histoire de les degouter.
    merci pour votre reponce ;)

  • signaler à un administrateur
    Commentaire de younes371 le 09/10/2006 12:11:59

    bonjour,
    c bon j'aire reussi le stockage et affichage d'image.
    merci pour l aide

  • signaler à un administrateur
    Commentaire de jonathan724 le 14/10/2006 19:08:33

    Ce que je cherchais pendant 30 minutes sur le net, je me trouve ici en 2 min. !!! Merci ;)

  • signaler à un administrateur
    Commentaire de Rhoulz le 12/03/2007 16:45:56

    Très intéressant et clair ton tuto merci TortueGenial!
    (et á la communauté en général)!

  • signaler à un administrateur
    Commentaire de LazarusLand le 12/09/2007 15:33:58

    Très bon code (9/10) mais comment prendre en charge les gif animés ? Lorsque j'utilise cette fonction et que je l'applique à un gif animé, il me génère bien le fichier en gif mais l'image devient statique. Dommage. Si quelqu'un connaît la solution...

  • signaler à un administrateur
    Commentaire de Tortuegeniale le 12/09/2007 15:40:25

    Il te faudra utiliser une lib spéciale. Image Magik le fait je pense.

  • signaler à un administrateur
    Commentaire de LazarusLand le 12/09/2007 16:13:56

    Image Magik ? Whats this ?
    Et comment fair en sorte que cette lib soit installée sur mon serveur d'hébergement ???
    HuHUMMMMMM...

  • signaler à un administrateur
    Commentaire de Tortuegeniale le 12/09/2007 16:19:00

    Image Magik c'est une lib qui sert a retravailler les images, donner des effets et plein d'autre chose encore ... Pour plus d'info, Google est ton ami ;)

    Pour ton hébergement ça dépend de ce que c'est, sur un mutualisé je doute qu'il y soit. Image Magik bouffe pas mal de ressource quand il est utilsé. Sur un mutu c'est à toi de l'installer.

  • signaler à un administrateur
    Commentaire de LazarusLand le 12/09/2007 16:21:43

    oki. g looké sur google. Mon hébergement est mutualisé mais je n'ai accès qu'à la racine www et pas au reste, pas de dossier lib ou autre. Donc je suis B...é je pense non ?

  • signaler à un administrateur
    Commentaire de LazarusLand le 12/09/2007 16:25:03

    Il paraitrai que Image Magik bouf moins de ressources que GD... Bizare non ? Qu'est ce t'en pense ?

  • signaler à un administrateur
    Commentaire de Tortuegeniale le 12/09/2007 16:26:34

    Meme si tu avais accés au dossier lib tu n'aurais pas pu l'intaller. Uniquement l'admin du serveur peut installer des applications dessus.

  • signaler à un administrateur
    Commentaire de LazarusLand le 12/09/2007 16:29:36

    oki, dommage car je viens de tel la dernière version de la lib Imagick (7 sept 2007). Bon et bien il ne me reste plus qu'à prendre un serveur dédié.?! Lol, c pour le taff.

    Merci beaucoup en tout cas tortue géniale

  • signaler à un administrateur
    Commentaire de benozor77 le 02/01/2008 21:11:20 10/10

    Tuto clair, précis et concis.
    Merci.
    Continuez ainsi.

  • signaler à un administrateur
    Commentaire de kupov le 09/04/2008 15:41:32

    Bonjour,
    Difficile de faire mieux.
    Merci.

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Boutique

Boutique de goodies CodeS-SourceS