Pseudo Mot de passe
fleche Inscription
fleche Mot de passe oublié ?
Informations Générales
Chargement en cours...
Nombre de Visites fleche [ 212 711 ]
Votre IP fleche [ 38.103.63.56 ]
Vous êtes ici : Home Page Cours PHP Librairie GD (Ouverture et dimensions image)
Imprimer le document Version Imprimable

Informations Générales

[270] Posts sur le forum
[233] Membres inscrits
Il y a en ligne :
arrow 0 Membre
arrow 2 Invités
fled Membre en ligne:
Aucun

Partenariat

Partenariat Vous pouvez aider ce site à évoluer, en contribuant à son développement. Proposez vos idées de cours et/ou dossiers.
Rendez-vous dans « Partenariat » pour en savoir plus.


Publicité


Prestataire

N°1 de l'hébergement, location de serveurs, nom de domaines et téléphonie.
(OVH est recommandé par Webelix.net)

www.

Nos Partenaires

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 :

Ouverture d'image GD

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.

  1. - 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

  2. - 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

  3. - 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

Haut de page