Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1059 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Resolu] Redimensionner image avec haut et larg max

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Resolu] Redimensionner image avec haut et larg max

n°1925606
Odissine
Posté le 21-09-2009 à 17:19:28  profilanswer
 

Bonsoir à tous,
Bon voila je sais ça doit etre super simple mais j'y arrive pas ca me fait n'importe quoi ...
Mon but est simple :
J'ai une image pour laquelle je récupère les dimensions (Width et Height)
A partir de la je veux faire des boucles de telle sorte qu'on obtienne une image ayant une largeur MAX de 485 et/ou une hauteur MAX de 400 :  
 
Le script ci-dessous est utilisé pour afficher les images avec fondu tournant en boucle... j'ai inclu du PHP dedans pour redimensionner les images en live mais ca marche pas :(
 

Code :
  1. <SCRIPT LANGUAGE="JavaScript">
  2. imgPath = new Array;
  3. imgWidth = new Array;
  4. imgHeight = new Array;
  5. SiClickGoTo = new Array;
  6. if (document.images)
  7. {
  8. <?php
  9. $query = "SELECT * FROM image WHERE tagged=1";
  10. $result = mysql_query($query);
  11. $i=0;
  12. while ($item = mysql_fetch_array($result))
  13. {
  14.  $images = $item['fichier'];
  15.  echo "i".$i." = new Image;\n";
  16.  echo "i".$i.".src = 'images/web/".$images."';\n";
  17.  echo "SiClickGoTo[".$i."] = \"#\";\n";
  18.  echo "imgPath[".$i."] = i".$i.".src;\n";
  19.  list($width, $height, $type, $attr) = getimagesize("images/web/$images" );
  20.  if ($width > 485)
  21.  {
  22.   $height = round(485 * $height / $width);
  23.   $width = 485;
  24.  }
  25.  if ($height > 400)
  26.  {
  27.   $width = round(400 * $width / $height);
  28.   $height = 400;
  29.  }
  30.  echo "i".$i.".width = '$width';\n";
  31.  echo "i".$i.".height = '$height';\n";
  32.  echo "imgWidth[".$i."] = i".$i.".width;\n";
  33.  echo "imgHeight[".$i."] = i".$i.".height;\n";
  34.  $i++;
  35. }
  36. ?>
  37. }
  38. a = 0;
  39. function ejs_img_fx(img)
  40. {
  41. if(img && img.filters && img.filters[0])
  42.  {
  43.  img.filters[0].apply();
  44.  img.filters[0].play();
  45.  }
  46. }
  47. function StartAnim()
  48. {
  49. if (document.images)
  50.  {
  51.  document.write('<?php echo "$h - $w - $h_n<br>"; ?><IMG HEIGHT=<?php echo $height; ?> WIDTH=<?php echo $width; ?> SRC="images/web/docpix000002.jpg" BORDER=0 ALT=Menu NAME=defil style="filter:progid:DXImageTransform.Microsoft.Fade(MaxSquare=100,Duration=1)">');
  52.  defilimg()
  53.  }
  54. else
  55.  {
  56.  document.write('<?php echo $h; ?><IMG HEIGHT=<?php echo $height; ?> WIDTH=<?php echo $width; ?> SRC="images/web/docpix000003.jpg" BORDER=0>')
  57.  }
  58. }
  59. function ImgDest()
  60. {
  61. document.location.href = SiClickGoTo[a-1];
  62. }
  63. function defilimg()
  64. {
  65. if (a == <?php echo $i; ?> )
  66.  {
  67.  a = 0;
  68.  }
  69. if (document.images)
  70.  {
  71.  ejs_img_fx(document.defil)
  72.  document.defil.src = imgPath[a];
  73.  document.defil.width = imgWidth[a];
  74.  document.defil.neight = imgHeight[a];
  75.  tempo3 = setTimeout("defilimg()",5000);
  76.  a++;
  77.  }
  78. }
  79. </SCRIPT>


 
Merci de votre aide ;)


Message édité par Odissine le 22-09-2009 à 14:07:08
mood
Publicité
Posté le 21-09-2009 à 17:19:28  profilanswer
 

n°1925611
pataluc
Posté le 21-09-2009 à 17:28:36  profilanswer
 

c'est quoi le pb avec ton code? il marche pas?  
 
et sinon le redimensionnement d'images, c'est classique. google est ton ami.

n°1925739
Odissine
Posté le 22-09-2009 à 10:55:53  profilanswer
 

J'ai édité mon poste principal car j'ai placé le script Javascript entier pour analyse ... je pige pas ou se situe mon erreur :( ...
 
Les photos ont une dimension de 485 * 400 ... :s a croire qu'il ne fait pas le premier calcul de ma première boucle ... ou alors le script php est mal interprété dans le code Jscript :(
 
Merci par avance

n°1925743
pataluc
Posté le 22-09-2009 à 11:02:49  profilanswer
 

je comprends rien à ton pb. si tes photos font déja 485x400, qu'est -ce que tu veux que ton script fasse?

n°1925770
Odissine
Posté le 22-09-2009 à 12:05:22  profilanswer
 

Je vais tâcher de mieux m'exprimer :  
 
J'ai des images dans un repertoire (et enregistrer dans la base) qui ont une taille aléatoire (ex : 1600x1200 ou 680x485 ou 1200x1600 ...). Mon but est d'afficher par une animation de fondu les images que la requetes SELECT renvoi en redimenssionnant l'image de tel sorte qu'elle est une largeur max de 485 et une hauteur max de 400 .. (ex pour 1600x1200 > 485x363 ...)
Et la bizzarement l'image qui devrait apparaitre avec 485x363 s'affiche avec 485x400 ... en revanche celle de 1200x1600 s'affiche bien en 300x400
 
Ca parait plus clair ?

n°1925793
pataluc
Posté le 22-09-2009 à 13:15:01  profilanswer
 

c bcp plus clair, en effet.
 
et effectivement, c'est bizarre. tu peux mettre le code de ta page générée par le php?

n°1925809
Odissine
Posté le 22-09-2009 à 14:03:27  profilanswer
 

Voila le code generé :  
 

Code :
  1. <!-- DEBUT DU SCRIPT -->
  2. <SCRIPT LANGUAGE="JavaScript">
  3. imgPath = new Array;
  4. imgWidth = new Array;
  5. imgHeight = new Array;
  6. SiClickGoTo = new Array;
  7. if (document.images)
  8. {
  9. i0 = new Image;
  10. i0.src = 'images/web/docpix000003.jpg';
  11. SiClickGoTo[0] = "#";
  12. imgPath[0] = i0.src;
  13. i0.width = '485';
  14. i0.height = '363';
  15. imgWidth[0] = i0.width;
  16. imgHeight[0] = i0.height;
  17. i1 = new Image;
  18. i1.src = 'images/web/docpix000002.jpg';
  19. SiClickGoTo[1] = "#";
  20. imgPath[1] = i1.src;
  21. i1.width = '485';
  22. i1.height = '364';
  23. imgWidth[1] = i1.width;
  24. imgHeight[1] = i1.height;
  25. i2 = new Image;
  26. i2.src = 'images/web/docpix000005.jpg';
  27. SiClickGoTo[2] = "#";
  28. imgPath[2] = i2.src;
  29. i2.width = '300';
  30. i2.height = '400';
  31. imgWidth[2] = i2.width;
  32. imgHeight[2] = i2.height;
  33. }
  34. a = 0;
  35. function ejs_img_fx(img)
  36. {
  37. if(img && img.filters && img.filters[0])
  38.  {
  39.  img.filters[0].apply();
  40.  img.filters[0].play();
  41.  }
  42. }
  43. function StartAnim()
  44. {
  45. if (document.images)
  46.  {
  47.  document.write('<IMG HEIGHT=400 WIDTH=300 SRC="images/web/docpix000002.jpg" BORDER=0 ALT=Menu NAME=defil style="filter:progid:DXImageTransform.Microsoft.Fade(MaxSquare=100,Duration=1)">');
  48.  defilimg()
  49.  }
  50. else
  51.  {
  52.  document.write('<IMG HEIGHT=400 WIDTH=300 SRC="images/web/docpix000003.jpg" BORDER=0>')
  53.  }
  54. }
  55. function ImgDest()
  56. {
  57. document.location.href = SiClickGoTo[a-1];
  58. }
  59. function defilimg()
  60. {
  61. if (a == 3)
  62.  {
  63.  a = 0;
  64.  }
  65. if (document.images)
  66.  {
  67.  ejs_img_fx(document.defil)
  68.  document.defil.src = imgPath[a];
  69.  document.defil.width = imgWidth[a];
  70.  document.defil.neight = imgHeight[a];
  71.  tempo3 = setTimeout("defilimg()",5000);
  72.  a++;
  73.  }
  74. }
  75. </SCRIPT>
  76. <!-- FIN DU SCRIPT -->
  77. </head>
  78. <body>
  79. <!-- DEBUT DU SCRIPT -->
  80. <SCRIPT LANGUAGE="JavaScript">
  81. StartAnim()
  82. </SCRIPT>


 
Cordialement

n°1925810
Odissine
Posté le 22-09-2009 à 14:06:39  profilanswer
 

Erf ... je viens de voir .... Quel couillon ;) j'avais mis dans le code "document.defil.neight = imgHeight[a];" ... faute de frappe ... c'était document.defil.height = imgHeight[a];
 
Ca marche maintenant ;)
Désole pour le post qui finalement n'est pas utile :s ...
Merci pataluc ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Resolu] Redimensionner image avec haut et larg max

 

Sujets relatifs
Problème image en FPDF[Resolu]Problème formulaire
[RESOLU] Sous Eclipse l'exécution marche bien mais pas avec la comm[RESOLU] JProgressBar qui affiche directement 100% :(
[Résolu] popen marche pas ???Image défilante en JavaScript + PHP avec largeur et hauteur dynamique
Un effet visuel extraordinaire sur le site d'Internity (à reproduire)[Résolu tout seul] [GTK] GTK Cell Renderer ne dessine qu'une ligne ?
[RESOLU] SplashScreen qui clignoteinclude sans image site distant
Plus de sujets relatifs à : [Resolu] Redimensionner image avec haut et larg max


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR