Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema con il resize delle foto

    Parto premettendo che ho uno spazio web su Aruba, e credo che questo mi svantaggia già in partenza :P
    Cmq...il mio problema è questo...ho creato una galleria di foto per il mio sito in PHP e per creare le miniature utilizzo questo script...

    Codice PHP:
    function resize_then_crop$filein,$fileout,$imagethumbsize_w,$imagethumbsize_h,$red,$green,$blue)
    {
        
    $percent 0.5;
        
    // Get new dimensions
        
    list($width$height) = getimagesize($filein);
        
    $new_width $width $percent;
        
    $new_height $height $percent;
        if(
    preg_match("/.jpg/i""$filein")){
            
    $format 'image/jpeg';
           }
           if (
    preg_match("/.gif/i""$filein")){
            
    $format 'image/gif';
        }
           if(
    preg_match("/.png/i""$filein")){
            
    $format 'image/png';
        }
      
        switch(
    $format){
            case 
    'image/jpeg':
                
    $image imagecreatefromjpeg($filein);
                   break;
            case 
    'image/gif';
                   
    $image imagecreatefromgif($filein);
                   break;
            case 
    'image/png':
                   
    $image imagecreatefrompng($filein);
                   break;
        }

        
    $width $imagethumbsize_w ;
        
    $height $imagethumbsize_h ;
        list(
    $width_orig$height_orig) = getimagesize($filein);

        if (
    $width_orig $height_orig) {
              
    $height = ($imagethumbsize_w $width_orig) * $height_orig;
        } else {
               
    $width = ($imagethumbsize_h $height_orig) * $width_orig;
        }

        if (
    $width $imagethumbsize_w){
            
    //if the width is smaller than supplied thumbnail size
            
    $width $imagethumbsize_w;
            
    $height = ($imagethumbsize_w$width_orig) * $height_orig;;
        }

        if (
    $height $imagethumbsize_h){
            
    $height $imagethumbsize_h;
            
    $width = ($imagethumbsize_h $height_orig) * $width_orig;
        }

        
    $thumb imagecreatetruecolor($width $height); 
        
    $bgcolor imagecolorallocate($thumb$red$green$blue); 
        
    imagefilledrectangle($thumb00$width$height$bgcolor);
        
    imagealphablending($thumbtrue);

        
    imagecopyresampled($thumb$image0000,
        
    $width$height$width_orig$height_orig);
        
    $thumb2 imagecreatetruecolor($imagethumbsize_w $imagethumbsize_h);
        
    // true color for best quality
        
    $bgcolor imagecolorallocate($thumb2$red$green$blue); 
        
    imagefilledrectangle($thumb200,    $imagethumbsize_w $imagethumbsize_h $bgcolor);
        
    imagealphablending($thumb2true);

        
    $w1 =($width/2) - ($imagethumbsize_w/2);
        
    $h1 = ($height/2) - ($imagethumbsize_h/2);

        
    imagecopyresampled($thumb2$thumb0,0$w1$h1,
        
    $imagethumbsize_w $imagethumbsize_h ,$imagethumbsize_w$imagethumbsize_h);

        
    // Output
        //header('Content-type: image/gif');
        //imagegif($thumb); //output to browser first image when testing

        
    switch($format){
            case 
    'image/jpeg':
                
    imagejpeg($thumb2$fileout);
                   break;
            case 
    'image/gif';
                   
    imagegif($thumb2$fileout);
                   break;
            case 
    'image/png':
               
    imagepng($thumb2$fileout);
                   break;
        } 
    //write to file
        
    imagedestroy$thumb2 ) ;
        
    imagedestroy$thumb ) ;
        

    ora il problema è che con le immagini non superiori ai 1024x768 pixel funziona tranquillamente, ma con le immagini più grandi mi fa compare il messaggio di errore 500 "Internal Server Error" ho notato che commentando le funzioni imagecreatefrom*** funziona, ma mi restituisce una immagine completamente nera. Ho anche provato ad aumentare la memoria usando la funzione
    Codice PHP:
    ini_set("memory_limit","32M"); 
    ma non cambia nulla.....esiste una soluzione a questo problema?????

  2. #2
    Allora? nessuno è riuscito a risolvere il problema delle miniature con foto di grandi dimensioni?????

  3. #3

    quesito

    Ho letto il tuo messaggio.
    Io ho un problema analogo al tuo.
    Ho caricato su un ftp delle immagini e ora vorrei modificare le dimensioni.
    che comando devo usare secondo te?
    io ho usato il seguente codice ma non va:


    <?php
    // File and new size
    $filename = indirizzo ftp // 100_0098.jpg';
    $newima='indirizzo ftp \ \100_0098.jpg';
    $percent = 0.5;

    // Content type
    header('Content-type: image/jpeg');

    // Get new sizes
    list($width, $height) = getimagesize($filename);
    $newwidth = $width * $percent;
    $newheight = $height * $percent;

    // Load
    $thumb = @imagecreatetruecolor($newwidth, $newheight);
    $source = imagecreatefromjpeg($filename);

    // Resize
    imagecopyresized($newima, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

    // Output
    imagejpeg($newima);
    ?>
    francesco

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.