> Tous les forumsForum des Webmasters

 script pour redimensionner des photos
Statut du sujet : NON RESOLU Imprimer
 nico du 12
  Posté le 28/12/2007 @ 14:45  
 Petit astucien

45 Messages

Bonjour,

je suis en train de creer un site web ou je présente des photos personnelles,

j'ai modifier un Diaporama avec flash qui charge mes photos dans un dossier séparé ( pour me permettre de suprimer ou rajouter des photos dans le Diaporama )

dans ce dossier mes photos sont de taille 900*600.

j'ai ensuite trouver une application flash qui charge aléatoirement une image pour ma page d'acceuil depuis un dossier différent au format 300*200

ce sont les mémes photos mais je suis obliger de les héberger 2 fois a une taille différente dans deux dossier différent.

(j'essaie d'etre clair !)

J'aimerais trouver un script qui me Redimensionne mes photos présente dans un des dossiers (ou les photos sont les plus grandes ) pour les envoyer vers le dossier ou elles sont plus petites,

ce qui me permetrait de n'heberger mes photos q'une seule fois.

Si quelqu' un a une idée a me conseiller ou un liens a me donner,

tout peut m 'etre utile

en vous remerciant par avance,

nico

 Afficher le profil de nico du 12Envoyer un message privé à nico du 12
 
 
Publicité
 Malcolm  Posté le 28/12/2007 à 16:06  
  Astucien


7193 Messages

Salut,

via flash, je ne pense pas que ça puisse se faire, mais si ta page est en PHP, ça peut se faire grace à la librairie GD...

Supposons que tes photos soient dans un sous dossier photos/ et que les miniatures soient dans photos/mini/ avec, pour chaque miniature, le même nom que la photo originale. (par exemple, grande photo : photos/DSCN001.jpg et petite photo photos/mini/DSCN001.jpg) - attention à la casse, photo.jpg n'est PAS photo.JPG !!! -

Alors tu peux essayer ce bout de script :

  1. <?php
  2. $dossier = 'photos/';
  3. $mini = 'mini/';
  4. // taille des miniatures
  5. $width = 640;
  6. $height = 480;
  7. // liste des éléments à ne pas vérifier (= pas de miniature)
  8. $array_nocheck = array('.', '..', 'index.php', 'Thumbs.db');
  9. // pour chaque photo, on vérifie si la minaiture existe, sinon on la crée :
  10. if ($handle = opendir($dossier))
  11. {
  12. while (false !== ($file = readdir($handle)))
  13. {
  14. if (!in_array($file, $array_nocheck))
  15. {
  16. // c'est une image, on teste l'existence d'une miniature
  17. if (!file_exists($mini.$file))
  18. {
  19. // lecture des infos
  20. $source = imagecreatefromjpeg($file);
  21. $destination = imagecreatetruecolor($width, $height);
  22. $largeur_source = imagesx($source);
  23. $hauteur_source = imagesy($source);
  24. $largeur_destination = imagesx($destination);
  25. $hauteur_destination = imagesy($destination);
  26. // création de la miniature
  27. imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
  28. // On enregistre la miniature sous le nom "$file"
  29. if (!imagejpeg($destination, $mini.$file))
  30. {
  31. echo 'pas pu créer la miniature : '.$mini.$file."<br />\n";
  32. };
  33. };
  34. };
  35. };
  36. closedir($handle);
  37. };
  38. ?>

J'ai mis un message d'erreur pour voir ce qu'il tente de créer si ça ne marche pas, il te faudra sans doute retoucher aux chemins relatifs.

Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
 selen  Posté le 28/12/2007 à 17:53  
  Maîtresse astucienne


10724 Messages

bonjour nico

bonjour malcolm

peut-être un truc tout simple : dans le code html si on met <img src="fichier.jpg" /> sans préciser les dimensions, la photo s'affiche dans ses dimensions propres, si par contre on précise ne fût-ce qu'une des deux dimensions soit height soit width, la photo est automatiquement ajustée :

ex <img src="fichier.jpg" height="400" />

donc si tu trouves dans ton javascript un endroit ou tu peux introduire cette donnée, tu peux utiliser le même stock de photos (de préférence les plus grandes pour ne pas perdre en netteté)

Afficher le profil de selen Voir la configuration de selenEnvoyer un message privé à selen
 Revenir en haut de la page
 Malcolm  Posté le 28/12/2007 à 18:54  
  Astucien


7193 Messages
Oui, sele, mais il faut garder à l'idée que, même affichée en 10pixels sur 10pixels, une photo "normale" de 2 Mo pèsera 2 Mo ... Donc le poids de la pge peut considérablement augmenter, ce qui n'est pas le cas (ou pas de manière si fulgurante) avec des vignettes.
Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
 selen  Posté le 28/12/2007 à 20:57  
  Maîtresse astucienne


10724 Messages
...oui, c'est vrai...
Afficher le profil de selen Voir la configuration de selenEnvoyer un message privé à selen
 Revenir en haut de la page
 tirikou  Posté le 29/12/2007 à 21:55  
Petit astucien


855 Messages

Salut,

J'avais trouvé un script qui Redimensionne automatiquement la taille d'une photo.

Si cela peut t'aider.

function Redimage($img_src,$img_dest,$img_dest_width,$img_dest_height)
{
//Lecture des dimension de l'image
$size = GetImageSize($img_src);
$img_src_width = $size[0]; $img_src_height = $size[1];
//Test des dimensions tenant dans la zone
$test_h = round(($img_dest_width / $img_src_width ) * $img_src_height);
$test_w = round(($img_dest_height / $img_src_height) * $img_src_width);
//si height final non précisé (0)
if(!$img_dest_width) $img_dest_width = $test_w;
//sinon si width final non précisé (0)
elseif(!$img_dest_height) $img_dest_height = $test_h;
// sinon teste quel Redimensionnement tient dans la zone
elseif($test_h>$img_dest_height) $img_dest_width = $test_w;
else $img_dest_height = $test_h;

//Création de l'image vierge
$dst_im = ImageCreateTrueColor($img_dest_width,$img_dest_height);
//Copie dedans l'image initiale Redimensionnée
$src_im = ImageCreateFromJpeg($img_src);
ImageCopyResized($dst_im,$src_im,0,0,0,0,$img_dest_width,$img_dest_height,$img_src_width,$img_src_height);
// Sauve la nouvelle image
ImageJpeg($dst_im,$img_dest);
//Destructon des tampons
ImageDestroy($dst_im);
ImageDestroy($src_im);
}
Afficher le profil de tirikouEnvoyer un message privé à tirikou
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Les sujets pertinents liés
localisation du code
centrer ce script
Accés impossible a ma base mysql
Photos qui défilent??
...et pour 2 balles de plus ! (.jpg, png)
formulaire php, de l'aide s'il vous plait...
inclure des videos dans un site avec trellix
upload de fichiers
Script de redimensionnement des images
Neige a enlever
Automatisation d'opérations
Créer image avec php: chmod
Site vente en ligne
Echange de liens et visiteurs
Scipt java ou html pour carte du jour
Gestionnaire de galeries d'images
clic droit interdit
 
Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !



 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page