Visualizzazione dei risultati da 1 a 10 su 10

Discussione: dimensioni immagini

  1. #1

    dimensioni immagini

    Dopo vari tentativi e aiuti da parte deli utenti di questo forum sono riuscito a realizzare uno script che permette ad un utente oltre che al testo di un articolo anche l'immagine.
    Adesso ho il problema della riduzione delle immagini inserite. Cerco di spiegarmi meglio.
    L'utente inserisce il testo dell'articolo e l'immagine di 500 x 600 px. Io vorrei che l'immagine non superasse una certa grandezza. Pertanto se l'img supera una certa grandezza io vorre che venisse visualizzata più piccola.

  2. #2
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  3. #3
    Ti ringrazio ma ho capito ben poco, anzi niente.
    Questo è lo script con cui visualizzo l'articolo e l'img,
    se non ti chiedo troppo potresti dirmi come modificarlo.
    Codice PHP:
    $sql="SELECT *, DATE_FORMAT(Data,'%d.%m.%Y') as data_art FROM articoli WHERE id='$_GET[ID]'";
    $result=mysql_query($sql) or die(mysql_error());;
    while (
    $row=mysql_fetch_array($result)) {
    print 
    "<div id=data> [i]";
    print 
    $row["data_art"];
    print 
    "[/i]</div>";
    print 
    "<div id=nome> [i]";
    print 
    $row["name"]." ".$row["surname"];
    print 
    "[/i]</div>";
    print (
    "[b]".$row['Titolo']."[/b]"."

    "
    );
    $articolo $row[Testo];
    print 
    "<div align=justify>";
    //controlla se è presente l'immagine
    if($row[immagine] != "") {
    print 
    "<img src=\"../../public/$row[immagine]\" hspace=5 vspace=5 align=$row[posizione] >";
    }
    print 
    $articolo."
    "
    ;
    print 
    "</div>";
    }
    mysql_close();
    ?> 

  4. #4
    ma fai l'upload delle immagini quando viene inserito l'articolo?
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  5. #5
    Si faccio l'upload in una cartella e metto il link nel DB.
    A me sta bene che le immagini vengano uploadate nella loro grandezza originale ma visualizzate poi in un formato non troppo grande.

  6. #6
    codice:
      function resize_img($src, $dest, $maxWidth, $maxHeight, $quality=85) {
               if (file_exists($src)  && isset($dest)) {
                   // path info
                   $destInfo  = pathInfo($dest);
    
                   // image src size
                   $srcSize   = getImageSize($src);
    
                   // image dest size $destSize[0] = width, $destSize[1] = height
                   $srcRatio  = $srcSize[0]/$srcSize[1]; // width/height ratio
                   $destRatio = $maxWidth/$maxHeight;
                   if ($destRatio > $srcRatio) {
                       $destSize[1] = $maxHeight;
                       $destSize[0] = $maxHeight*$srcRatio;
                   } else {
                       $destSize[0] = $maxWidth;
                       $destSize[1] = $maxWidth/$srcRatio;
                   }
    
                   // path rectification
                   if ($destInfo['extension'] == "gif") {
                       $dest = substr_replace($dest, 'jpg', -3);
                   }
    
                   // true color image, with anti-aliasing
                   $destImage = imageCreateTrueColor($destSize[0],$destSize[1]);
                   imageAntiAlias($destImage,true);
    
                   // src image
                   switch ($srcSize[2]) {
                           case 1: //GIF
                                $srcImage = imageCreateFromGif($src);
                                break;
    
                           case 2: //JPEG
                                $srcImage = imageCreateFromJpeg($src);
                                break;
    
                           case 3: //PNG
                                $srcImage = imageCreateFromPng($src);
                                break;
    
                           default:
                                return false;
                                break;
                   }
    
                   // resampling
                   imageCopyResampled($destImage, $srcImage, 0, 0, 0, 0,$destSize[0],$destSize[1],$srcSize[0],$srcSize[1]);
    
                   // generating image
                   switch ($srcSize[2]) {
                           case 1:
                           case 2:
                                imageJpeg($destImage,$dest,$quality);
                                break;
    
                           case 3:
                                imagePng($destImage,$dest);
                                break;
                   }
                   return true;
               } else {
                   return false;
               }
      }
    questa è una funzione che utilizzo per ridimensionare le immagini in fase di upload
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  7. #7
    In questo modo tu le rimpiccolisci quando vengono inviate?

    Quando realizzo una funzione come faccio ad integrarl nel mio scipt?

  8. #8
    questo è un riadattamento dell'upload con quella funzione
    codice:
                         
                         $filename = $_FILES['pfile']['name'];
                         $temp_name = "qui metti un nome temporaneo per immagine";
                         $img_system_path = "directory delle immagini";
                         if(!move_uploaded_file($_FILES['pfile']['tmp_name'], "{$img_system_path}/$filename")) {
                             echo "Errore nella copia del file.
    Contattare il $mailto_webmaster";
                         } else {
                             // verifica dimensioni
                             list($width, $height, $type, $attr) = getImageSize("{$img_system_path}/$filename");
                             if($width > $max_img_width || $height > $max_img_height) {
                                if(!resize_img("{$img_system_path}/$filename", "{$img_system_path}/$temp_name", $max_img_width, $max_img_height, 85)) {
                                    unlink("{$img_system_path}/$filename");
                                    echo "Dimensioni immagine eccessive.
    
    Problemi nel ridimesionamento dell'immagine
    ";
                                } else {
                                    unlink("{$img_system_path}/$filename");
                                    echo "L'immagine è stata ridimensionata alle misure consentite.
    ";
                                    if(!@rename("{$img_system_path}/$temp_name", "{$img_system_path}/$filename")) {
                                         echo "L'immagine è disponibile col nuovo nome $temp_name
    ";
                                         $filename = $temp_name;
                                    }
                                }
                             }
    // qui l'inserimento delle info nel db
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  9. #9
    ooopppsss
    devi dichiarare anche $max_img_width e $max_img_height
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  10. #10
    grazie. Provo e ti faccio sapere

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.