Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    20

    [resize] con ciclo di immagini

    ciao,

    ho trovato questo script nel forum:

    codice:
    <?php  function resize_image($img_res, $maxX, $maxY) {  $actualX=imagesx($img_res);  $actualY=imagesy($img_res);    if ($actualX>$maxX) {  $newX=$maxX;  $newY=($actualY/$actualX)*$newX;  } else {  $newY=$maxY;  $newX=($actualX/$actualY)*$newY;  }    $tmp_img_res = imagecreatetruecolor($newX, $newY);    $res = imagecopyresampled($tmp_img_res, $img_res, 0, 0, 0, 0, $newX, $newY, $actualX, $actualY);  return $tmp_img_res;  }    function save_image($img_res, $filename, $quality=80) {  imagejpeg($img_res, $filename, $quality);  }    function print_image($img_res, $quality=80) {  header('Content-Type: image/jpeg');  imagejpeg($img_res,NULL, $quality);  }    $img_res = imagecreatefromjpeg('archivio/calcio/23.jpg');  $new_img_res = resize_image($img_res, 110, 150);  unset($img_res);  print_image($new_img_res, 100);      ?>

    che funziona benissimo.

    io però dovrei fare il resize immagini in un ciclo.
    praticamente in una pagina mi dovrebbero venire 9 thumbnails.


    questo è il mio script per la visualizzazione:


    codice:
    $query = "select * from archivio  WHERE sport ='$sport'";    echo'<table width="80%" border="0" cellspacing="1" cellpadding="3"><tr>';          $result = mysql_query($query, $db);  	  	while ($percorso = mysql_fetch_object($result))  	  	{    $immagine = $percorso -> percorso;      echo "<td>[img]$immagine[/img]<a/></td>";        }

    c'e' un modo per adattare lo script al mio modo di visualizzare le pagine??

    le ho provate parecchie, ma non ne riesco ad uscire.

  2. #2
    paolobig1
    Guest
    Non ho capito cosa intendi?
    manda a capo lo script!

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    20
    Codice PHP:

    <?php  function resize_image($img_res$maxX$maxY)
     {
      
    $actualX=imagesx($img_res);
      
    $actualY=imagesy($img_res);
      if (
    $actualX>$maxX)
         {
         
    $newX=$maxX;
         
    $newY=($actualY/$actualX)*$newX;
         }
        else
            {
            
    $newY=$maxY;
            
    $newX=($actualX/$actualY)*$newY;
            }
            
    $tmp_img_res imagecreatetruecolor($newX$newY);           $res imagecopyresampled($tmp_img_res$img_res0000$newX$newY$actualX$actualY);
      return 
    $tmp_img_res;
       }
        function 
    save_image($img_res$filename$quality=80)
       {
      
    imagejpeg($img_res$filename$quality);
       }
        function 
    print_image($img_res$quality=80)
         { 
        
    header('Content-Type: image/jpeg'); 
        
    imagejpeg($img_res,NULL$quality); 
          }
          
    $img_res imagecreatefromjpeg('archivio/calcio/23.jpg');
      
    $new_img_res resize_image($img_res110150);     unset($img_res);  print_image($new_img_res100); 
    ?>
    Vediamo...

    lo script funziona bene se lo lancio cosi', e mi visualizza 1 thumbnail per volta.


    ma io ho necessità di far visualizzare più immagini.

    Io uso questo script, che però non riesco ad adattare allo script per il resize..



    eccolo

    Codice PHP:


    $query 
    "select * from archivio  WHERE sport ='$sport'";    echo'<table width="80%" border="0" cellspacing="1" cellpadding="3"><tr>'
    $result mysql_query($query$db); 
     while (
    $percorso mysql_fetch_object($result)) 
       {
        
    $immagine $percorso -> percorso
         echo 
    "<td>[img]$immagine[/img]<a/></td>";  
       } 


    spero di aver indentato bene lo script...

  4. #4
    lo script per ridimensionare così come lo usi tu non salva l'immagine ridimensionata ma la visualizza direttamente passando un header("Content-Type ...).

    Se vuoi adattarla al tuo codice senza salvare le immagini penso che la cosa migliore da fare sia creare un file resize.php , in questo file metti lo script per ridimensionare con $img_res = imagecreatefromjpeg($_GET['img']);

    poi il tuo codice diventa così:
    Codice PHP:
    $query "select * from archivio  WHERE sport ='$sport'";    echo'<table width="80%" border="0" cellspacing="1" cellpadding="3"><tr>'
    $result mysql_query($query$db); 
     while (
    $percorso mysql_fetch_object($result)) 
       {
        
    $immagine $percorso -> percorso
         echo 
    "<td>[img]resize.php?img=$immagine[/img]<a/></td>";  
       } 
    PS: se curi meglio la formattazione del tuo codice è molto più leggibile

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    20
    penso che la tua sia la soluzione giusta.

    ho provato, e mi ridimensiona le immagini, ma per adesso mi fa vedere solo piccole crocette rosse.

    Mi sa che ci devo lavorare ancora un po'. soprattutto sul link.

    Comunque ti ringrazio, e scusa per il codice indentato malissimo, ma non avevo capito ancora bene come postarlo.

    grazie ancora adesso provo a lavorarci.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    20


    OK! ho risolto.
    Con il tuo sistema funziona tutto alla grande..

    GRAZIE MILLE

  7. #7
    Anche io ho il "problema delle crocette" , mi diresti come hai risolto e da che dipendeva?

  8. #8
    Ok, risolto, non ho capito perchè, ma ora va ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.