Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/07/2008, 11h55   #1
Futur Membre du Club
 
Homme
Inscription : novembre 2004
Messages : 42
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2004
Messages : 42
Points : 16
Points : 16
Par défaut Redimensionner les images de sorte qu'elles aient une taille fixe

Bonjour,

Pour un petit programme en PHP j'ai un "bureau" qui fait 100x100.
Les images que les utilisateurs rentrent dans le système sont redimensionnées en gardant les proportions.
Il se peut qu'une image fasse 100x90
Comment peut on faire pour que le PHP rajoute du blanc autour de l'image en 100x90 afin que l'image finale soit en 100x100.

Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
A&Nexus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 14h59   #2
Modérateur
 
Avatar de SirDarken
 
Eric Willems
Développeur Web
Inscription : février 2004
Messages : 895
Détails du profil
Informations personnelles :
Nom : Eric Willems
Âge : 30
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : Services de proximité

Informations forums :
Inscription : février 2004
Messages : 895
Points : 1 065
Points : 1 065
Envoyer un message via MSN à SirDarken Envoyer un message via Skype™ à SirDarken
Je te conseillerai de chercher de l'aide sur GD la librairie qui traite les images, je n'ai plus l'url du tuto sous la main, mais tu peux assembler des images, les redimensionner, voir même en créer.
SirDarken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 15h01   #3
Futur Membre du Club
 
Homme
Inscription : novembre 2004
Messages : 42
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2004
Messages : 42
Points : 16
Points : 16
Merci je vais me pencher la dessus.
A&Nexus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 17h15   #4
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
http://www.php.net/manual/fr/functio...opyresized.php

Pour des dimensions fixes d'une image, il faut :
1) Connaître le rapport des dimensions à appliquer (hauteur/largeur).
2) Récupérer le rapport de l'image à redimensionner (format paysage ou portrait)
3) Supprimer ce qui dépasse de l'image après l'avoir redimensionné et centré

Exemple, la fonction suivante va redimensionner l'image de façon optimale dans les dimensions souhaitées.
La miniature est enregistrée au format PNG dans le même nom précédé d'un "m" :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//========================================================// 
function mythumbail($file,$maxWidth,$maxHeight){ 
 $infos=GetImageSize($file);
 $Width=$infos[0]; 
 $Height=$infos[1]; 
 if($infos[2]==1) $img=ImageCreateFromGif($file);else
 if($infos[2]==2) $img=ImageCreateFromJpeg($file);else
 if($infos[2]==3) $img=ImageCreateFromPng($file);else
 if($infos[2]==6) $img=ImageCreateFromWBmp($file);else
 $img=ImageCreate($file);
 $whFact=$maxWidth/$maxHeight; 
 $imgWhFact=$Width/$Height; 
 if($whFact<imgWhFact){ 
  $tWidth=$maxWidth; 
  $tHeight=$tWidth/imgWhFact; 
 }else{ 
  $tHeight=$maxHeight; 
  $tWidth=$tHeight*$imgWhFact;
 } 
 $imgThumb=ImageCreateTruecolor($tWidth,$tHeight); 
 ImageCopyResampled($imgThumb,$img,0,0,0,0,$tWidth,$tHeight,$Width,$Height); 
 $ThumbName=dirname($file).'/m'.basename($file); 
 @ImagePng($imgThumb,$ThumbName); 
 return $ThumbName; 
}
A toi de l'adapter pour ton utilisation.
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2008, 19h37   #5
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Le même sujet où je donne la réponse :
http://www.developpez.net/forums/sho...=589387&page=2
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h43.


 
 
 
 
Partenaires

Hébergement Web