Accueil > > > TOUT SUR LES IMAGES DYNAMIQUES
TOUT SUR LES IMAGES DYNAMIQUES
Information sur la source
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
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE [WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE[WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE par FREMYCOMPANY
Je pense qu'ils ont besoin d'une piqure de rappel chez Microsoft : c'est bien gentil d'avoir une interface jolie, mais si c'est pour avoir un truc qui ne convainct pas dedans, c'est peine perdue.
---->
Système ouvert ----> Fermé ?
P...
Cliquez pour lire la suite de l'article par FREMYCOMPANY
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|