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 (Redimensionnement 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 (Redimensionnement d'une image)

Le redimensionnement d'une image a pour intérêt de créer des vignettes, afin de pouvoir afficher les images originelles avec des dimensions adaptées pour une page web.

Il existe deux fonctions pour réduire les images.
La Première fonction imagecopyresized() :

imagecopyresized($image_dest, $image_src, $dest_x, $dest_y, $src_x, $src_y, $dest_largeur, $dest_hauteur, $src_largeur, $src_hauteur);

La Deuxième fonction imagecopyresampled() :

imagecopyresampled($image_dest, $image_src, $dest_x, $dest_y, $src_x, $src_y, $dest_largeur, $dest_hauteur, $src_largeur, $src_hauteur);

$image_dest est l'image de destination.

$image_src est l'image source.

$dest_x et $dest_y sont les coordonnées du point de départ sur l'image de destination.

$src_x et $src_y sont les coordonnées du point de départ de copie sur l'image source.

$dest_largeur et $dest_hauteur sont les dimensions en pixels de la zone recopiée sur la destination.

$src_largeur et $src_hauteur sont les dimensions en pixels de la zone à recopier à partir de la source.

Dimensions d'une image GD

Exemple avec notre image "imageGD_1.jpg" :

<?php
header("Content-type: image/jpeg");

// on ouvre la source
$file = $_SERVER['DOCUMENT_ROOT'].'/pages/PHP/images/imageGD_1.jpg';
$image_src = imagecreatefromjpeg($file);
$src_largeur = imagesx($image_src);
$src_hauteur = imagesy($image_src);

// ratio de l'image de destination
$ratio = .4;

// calcul des dimensions pour l'image de destination
$dest_largeur = $src_largeur * $ratio;
$dest_hauteur = $src_hauteur * $ratio;

// création de l'image de destination
$image_dest = imagecreatetruecolor($dest_largeur, $dest_hauteur);

// redimensionnement de l'image
imagecopyresampled($image_dest, $image_src, 0, 0, 0, 0, $dest_largeur, $dest_hauteur, $src_largeur, $src_hauteur);

imagejpeg($image_dest);
imagedestroy($image_dest);
imagedestroy($image_src);
?>

Remarque : imagecopyresized() et imagecopyresampled() s'emploient de la même manière.

Image originale :

Image d'origine 200x150px

Image redimensionner avec un ratio de 0.4 :

Avec la fonction imagecopyresized() Avec la fonction imagecopyresampled()
Redimensionner une image avec imagecopyresized

Ici l'image est redimensionner, mais on obtient un rendu médiocre.

Redimensionner une image avec imagecopyresampled

Ici l'image est redimensionner et rééchantillonner pour obtenir un meilleur rendu.

Haut de page