Aller au contenu

Upload d'image controler les dimensions


Lentreprenaute

Sujets conseillés

Salut Florent,

Le redimensionnement se fera après l'upload en se basant sur le fichier uploadé.

Il existe des scripts en php pour ce faire, mais ils dépendent des librairies graphiques gd installées. Avec les versions 1.6 et antérieures, le "true color" n'est pas supporté ... mais le devient ensuite avec gd 2.0 qui ne supporte par contre plus le format gif.

Donnes-nous des infos sur ta config, et je pourrai mieux t'orienter vers les bons scripts, ainsi que le type d'images que tu veux redimensionner: gif, jpg, png ...

Dan

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Dan,

Merci, Pour l'instant je développe en local easyphp1.7, je n'ai pas encore de serveur je pense prendre un dédié chez sivit prochainement, je sais pas si la config de base qu'il livre comprendra ca! mais je pourrais l'installer.

maintenant pour développer je sais pas si easyphp permet d'installer ca?

Florent

Lien vers le commentaire
Partager sur d’autres sites

je pense que des modules de traitement d'images par le serveur sont gérables sans soucis par easyphp, du moment qu'elles sont bien compatibles avec la version d'apache de celui-ci.

par exemple vois ce que fait ce script :

h**p://www.stargeek.com/item/32245.html

pas testé mais on sait jamais !!!

Lien vers le commentaire
Partager sur d’autres sites

Salut Lentreprenaute,

Voici de quoi démarrer avec la bibliothèque gd.

C'est un bout de code que j'utilise pour redimensionner les photos jpg sur mes sites immobiliers.

$use_true_Color = "Y"; 
$maxX = 360;            
$ratio = ($srcX / $maxX);
$dstY = ($srcY / $ratio);
$dstX = $maxX;
if ($use_true_Color == "Y") {
     $newimage = ImageCreateTrueColor($dstX, $dstY);
     imagecopyresampled($newimage, $inputImg, 0, 0, 0, 0, $dstX+1, $dstY+1, $srcX, $srcY);
}
else {
      $newimage = ImageCreate($maxX, $maxY);
      imagecopyresized($newimage, $inputImg, (($maxX - $dstX) / 2),(($maxY - $dstY) / 2),0,0, $dstX+1, $dstY+1, $srcX, $srcY);
}
     imageJPEG($newimage, "$full_name",75);
     $img_size=filesize($full_name);

Il y a quelques variables à pré-définir:

$use_true_Color: mettre à "Y" pour bibliothèque gd version 2.0 , "N" autrement
si mal positionné tu auras une erreur pour le fonction imagecopyresampled qui n'existe pas.... laisses à "Y" et ne changes que si tu as l'erreur en exécution.
$fullname: nom du fichier où stocker l'image retaillée;
$maxX: largeur max de l'image en pixels.
$inputImg: est l'image originelle.

Tu peux aussi changer la qualité de l'image, en variant le dernier paramètre de imageJPEG (75 dans l'exemple). Plus petit signifie plus petite taille, mais qualité moindre. Le maximum est 100.

Cordialement,

Dan

PS: ce script retaille l'image en gardant les proportions. Toutes les variantes sont possibles... ce sont les fonctions imagecopyresized ou imagecopyresampled qui font tout le boulot. Ca vaut le coup de regarder les pages du manuel pour ces deux fonctions.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Marie,

Elle fait partie de l'installation de base de Php...

La meilleure maniere de voir precisément ce qui est installé avec php est encore de faire un programme simple, d'une seule ligne, et de l'exécuter.

<?php  phpinfo();  ?>

Cordialement,

Dan

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...