Création
d'entreprise
Posez votre question Signaler

PHP - GD redimension d'image

dracucharles 63Messages postés 17 mars 2008Date d'inscription - Dernière réponse le 24 déc. 2008 à 13:43
Bonjour à tous,
J'ai une série d'images stockées dans ma base de données. Parmi cette série, j'en affiche quatre sur mon site en tant que "bannière", et elles sont chargées aléatoirement pour qu'elles diffèrent à chaque chargement de pages.
J'aimerais savoir s'il est possible de re dimensionner ces images à l'affichage simplement grâce à GD. C'est à dire que je conserve l'image normale qui est dans ma base mais lorsqu'elle s'affiche, elle apparait au format 150*113.
Pour être plus clair, imaginons que nous avons une image de 1600*1200 qui est dans ma base et lorsque que je l'affiche elle apparaît au format 150*113 sans qu'elle soit modifiée.
j'ai regardé la fonction imagecopyresampled() mais je pense que ça ne correspond pas à ce qu'il me faut (ou alors j'ai pas bien compris).
Merci de votre aide.
Lire la suite 

PHP - GD redimension d'image »

2 réponses
Réponse
+1
moins plus
tiens un exemple de redim à l'affichage:

<?php
/*La fonction   fctaffichimage($W_max, $H_max, $img_Src)

La fonction affiche : width="..." height="..."

Les paramètres
- $W_max : LARGEUR maxi d'affichage --> ou 0
- $H_max : HAUTEUR maxi d'affichage --> ou 0
- $img_Src : chemin+NOM de l'image Source

- si $W_max = 0 --> LARGEUR auto
- si $H_max = 0 --> HAUTEUR auto
*/

			///// Utilisation :

// FONCTION de redimensionnement "a l'affichage"
   // -----------------------------------------------------------------------------------------------------
// fonction de redimensionnement A L'AFFICHAGE
// -----------------------------------------------------------------------------------------------------
// La FONCTION : fctaffichimage($W_max, $H_max, $img_Src)
// Les parametres :
// - $W_max : LARGEUR maxi finale ----> ou 0 : largeur libre
// - $H_max : HAUTEUR maxi finale ----> ou 0 : hauteur libre
// - $img_Src : NOM de l image Source
// -----------------------------------------------------------------------------------------------------
// Affiche :  width="..." height="..." pour la balise img
// -----------------------------------------------------------------------------------------------------


function fctaffichimage($W_max, $H_max, $img_Src) {
 // ------------------------------------------------------------------
   // Lit les dimensions de l'image
   $img_size = GetImageSize($img_Src);  
   $W_Src = $img_size[0]; // largeur
   $H_Src = $img_size[1]; // hauteur
 // ------------------------------------------------------------------
   // Teste les dimensions tenant dans la zone
   $H_test = round(($W_max / $W_Src) * $H_Src);
   $W_test = round(($H_max / $H_Src) * $W_Src);
 // ------------------------------------------------------------------
   // Si $H_max non précisé (0)
   if(!$H_max) { $H_max = $H_test; }
   // Sinon si $W_max non précisé (0)
   elseif(!$W_max) { $W_max = $W_test; }
   // Sinon teste quel redimensionnement tient dans la zone
   elseif($H_test > $H_max) { $W_max = $W_test; }
   else { $H_max = $H_test; }
 // ------------------------------------------------------------------
   // (procedure : ne retourne aucune valeur mais ...)
   // AFFICHE les dimensions optimales
   // Affiche :  width="..." height="..."

   echo ' width="'.$W_max.'" height="'.$H_max.'"';
}
?>
<html>
<img alt="" src="IMG_0677.JPG" <?php fctaffichimage(200, 300, 'IMG_0677.JPG') ?> />

</html>
Ajouter un commentaire
Réponse
+0
moins plus
essaye plutot imagecopyresized()
Ajouter un commentaire
Ce document intitulé « PHP - GD redimension d'image » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?