 |

La Librairie GD (Ouverture et dimensions d'une image)
Ouvrir une image existante
L'intérêt de pouvoir ouvrir une image déjà existante avec la librairie GD, est de pouvoir modifier celle-ci grâce au PHP.
Par exemple, créer un diaporama avec des miniatures, créer un album photo, apposer un logo sur des photos pour éviter la copie illégale (copyright), etc...
Voici la liste des fonctions permettant d'ouvrir des images :
imagecreatefromgd2($file); //ouvre un fichier gd2
imagecreatefromgd2part($file); //ouvre une partie d'un fichier gd2
imagecreatefromgd($file); //ouvre un fichier gd
imagecreatefromgif($file); //ouvre un fichier gif
imagecreatefromjpeg($file); //ouvre un fichier jpeg
imagecreatefrompng($file); //ouvre un fichier png
imagecreatefromwbmp($file); //ouvre un fichier wbmp
imagecreatefromxbm($file); //ouvre un fichier xbm
imagecreatefromxpm($file); //ouvre un fichier xpm
Nous allons, pour exemple, ouvrir une image .jpg de 150x200 pixels.
<?php
header("Content-type: image/png");
/* ligne à modifier selon votre installation */
$file = $_SERVER['DOCUMENT_ROOT'].'/images/imageGD_1.jpg';
$image = imagecreatefromjpeg($file); //ouverture de l'image jpeg
imagepng($image);
imagedestroy($image);
?>
Résultat :
Dans l'exemple ci-dessus, nous ouvrons une image .jpg et nous l'affichons au format .png.
Dans ce cas il suffira donc de modifier la fonction imagepng() en ajoutant le deuxième argument pour l'enregistrer sous le format .png (voir La création d'une image).
Connaître les dimensions d'une image
Il est souvent utile de connaître les dimensions d'une image.
Il existe trois fonctions permettant de connaître les dimensions.
- - getimagesize() permet de connaître les dimensions et d'autres détails sur l'image en renvoyant un tableau :
$infos_img = getimagesize($file);
Variables du tableau renvoyé :
- $infos_img[0] -> Largeur de l'image
- $infos_img[1] -> Hauteur de l'image
- $infos_img[2] -> Type d'image sous forme de code (voir le tableau ci-dessous)
- $infos_img[3] -> Ligne à mettre dans la balise <img> (height=x width=y)
La liste des types d'images en fonction des codes :
| Codes |
Types d'images |
Codes |
Types d'images |
| 1 |
GIF (Graphics Interchange Format) |
2 |
JPG (Joint Photographic Group) |
| 3 |
PNG (Portable Network Graphics) |
4 |
SWF (Flash) |
| 5 |
PSD (Photoshop) |
6 |
BMP (Bitmap) |
| 7 |
TIFF (INTEL®) |
8 |
TIFF (MOTOROLA®) |
| 9 |
JPC |
10 |
JP2 |
| 11 |
JPX |
12 |
JB2 |
| 13 |
SWC |
14 |
IFF |
Exemple avec notre image "imageGD_1.jpg" :
<?php
$file = $_SERVER['DOCUMENT_ROOT'].'/images/imageGD_1.jpg';
/* on récupère les infos sur l'image grâce à la fonction PHP */
$infos_img = getimagesize($file);
/* on affiche les infos */
echo "<p>L'image a une largeur de <strong>$infos_img[0]px</strong> et une hauteur de <strong>$infos_img[1]px<strong>.<br />
Elle est de type <strong>".image_type_to_mime_type($infos_img[2])."</strong></p>";
?>
Résultat :
L'image a une largeur de 200px et une hauteur de 150px.
Elle est de type image/jpeg
- - imagesx() permet de connaître la largeur d'une image :
$x = imagesx($image);
Exemple avec notre image "imageGD_1.jpg" :
<?php
$file = $_SERVER['DOCUMENT_ROOT'].'/images/imageGD_1.jpg';
/* on créer une image GD pour récupèrer les infos de l'image */
$image = imagecreatefromjpeg($file);
$x = imagesx($image); //on récupère la largeur
imagedestroy($image);
/* on affiche les infos */
echo "<p>L'image a une largeur de <strong>$x px</strong></p>";
?>
Résultat :
L'image a une largeur de 200 px
- - imagesy() permet de connaître la hauteur d'une image :
$y = imagesy($image);
Exemple avec notre image "imageGD_1.jpg" :
<?php
$file = $_SERVER['DOCUMENT_ROOT'].'/images/imageGD_1.jpg';
/* on créer une image GD pour récupèrer les infos de l'image */
$image = imagecreatefromjpeg($file);
$y = imagesy($image); //on récupère la hauteur
imagedestroy($image);
/* on affiche les infos */
echo "<p>L'image a une hauteur de <strong>$y px</strong></p>";
?>
Résultat :
L'image a une hauteur de 150 px
 |

|