Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Thumb in PNG

  1. #1

    Thumb in PNG

    Salve a tutti, mi sapreste dire perché non va tutto ciò?

    Io ho fatto copia incolla dal manuale del php, cambiando solo JPG in PNG

    Codice PHP:
    //creazione della thumbnail
    $path "$abpath/$img2_name";
    $pat_def "$abpath/$thumb";
    $abc imagecreatefromPNG($path);
    $def imagecreate(80$hgth);
    imagecopyresampled($def$abc000080$hgth$wd$hg);
    imagepng($def$pat_def);
    ImageDestroy($abc);
    ImageDestroy($def); 
    Mi crea una immagine delle dimensioni giuste, però è tutta nera :quipy:

    Mi sapreste dire dove sbaglio?

    Grazie a tutti

  2. #2
    se vuoi questa è una classe che uso per il ridimensionamento con php delle immagini

    Codice PHP:
    class Thumbnail
        
    {

        
    // Set destination filename
        
    function setImgSource$source )
            {
            
    $this->source $source;
            }

        
    // Set maximum size of thumbnail
        
    function setMaxSize $max_width 100$max_height 100 )
            {
            
    $this->max_width $max_width;
            
    $this->max_height $max_height;
            }


        
    // Get info about original image
        
    function getImageData$data )
            {
            
    $size GetImageSize$this->source );
            
            switch ( 
    $data )
                {
                case 
    'width':
                    return 
    $size[0];
                    break;
                case 
    'height':
                    return 
    $size[1];
                    break;
                case 
    'type':
                    switch ( 
    $size[2] )
                        {
                        case 
    1:
                            return 
    'gif';
                            break;
                        case 
    2:
                            return 
    'jpg';
                            break;
                        case 
    3:
                            return 
    'png';
                            break;
                        }
                    break;
                }        
            }

        
    // Get info about thumbnail
        
    function getThumbData$data )
            {
            
    $w_ratio $this->max_width  $this->GetImageData('width');
            
    $h_ratio $this->max_height $this->GetImageData('height');

            if ( 
    $h_ratio $w_ratio )
                {
                
    $height $this->max_height;
                
    $width round$this->GetImageData('width') * $h_ratio0);
                }
            else
                {
                
    $width $this->max_width;
                
    $height round$this->GetImageData('height') * $w_ratio0);
                }
                    
            switch ( 
    $data )
                {
                case 
    'width':
                    return 
    $width;
                    break;
                case 
    'height':
                    return 
    $height;
                    break;
                }
            }

            
        
    // Creating a thumbnail
        
    function Create$dest )
            {
            
    $img_des ImageCreateTrueColor $this->GetThumbData('width'), $this->GetThumbData('height') );

            switch ( 
    $this->GetImageData('type') )
                {
                case 
    'gif':
                    
    $img_src ImageCreateFromGIF $this->source );
                    break;

                case 
    'jpg':
                    
    $img_src ImageCreateFromJPEG $this->source );
                    break;

                case 
    'png':
                    
    $img_src ImageCreateFromPNG $this->source );
                    break;
                }

            @
    ImageCopyResized$img_des$img_src0000$this->GetThumbData('width'), $this->GetThumbData('height'), $this->GetImageData('width'), $this->GetImageData('height') );

            switch ( 
    $this->GetImageData('type') )
                {
                case 
    'gif':
                    if ( empty( 
    $dest ) )
                        {
                        
    header"Content-type: image/gif" );
                        return 
    ImageGIF$img_des );
                        }
                    else
                        {
                        return 
    ImageGIF$img_des$dest );
                        }
                        break;

                case 
    'jpg':
                    if ( empty( 
    $dest ) )
                        {
                        
    header "Content-type: image/jpeg" );
                        return 
    ImageJPEG($img_des,'',100);
                        }
                    else
                        {
                        return 
    ImageJPEG$img_des$dest100 );
                        }
                    break;

                case 
    'png':
                    if ( empty( 
    $dest ) )
                        {
                        
    header "Content-type: image/png" );
                        return 
    ImagePNG$img_des );
                        }
                    else
                        {
                        return 
    ImagePNG$img_des$dest );
                        }
                    break;
                }
            }
        } 
    e la utilizzi in questo modo (dopo aver incluso il file in cui hai messo la classe nel file in cui la utilizzi)

    Codice PHP:
    $ImgResize = new Thumbnail// Start using a class        $ImgResize->setMaxSize(80,80); // Specify maximum size (width, height)                $ImgResize->setImgSource($immagine); // Specify original image filename                $ImgResize->Create(""); //vuoto per output diretto, indirizzo sul server nel caso si volesse salvare l'immagine 

  3. #3
    Mi da questi errori:

    codice:
    Warning: getimagesize: Unable to open '' for reading. in c:\Programmi\EasyPHP\includes\config.inc.php on line 43
    
    Warning: Division by zero in c:\Programmi\EasyPHP\includes\config.inc.php on line 103
    
    Warning: getimagesize: Unable to open '' for reading. in c:\Programmi\EasyPHP\includes\config.inc.php on line 43
    
    Warning: Division by zero in c:\Programmi\EasyPHP\includes\config.inc.php on line 105
    
    Warning: getimagesize: Unable to open '' for reading. in c:\Programmi\EasyPHP\includes\config.inc.php on line 43
    
    Warning: getimagesize: Unable to open '' for reading. in c:\Programmi\EasyPHP\includes\config.inc.php on line 43
    
    Warning: Division by zero in c:\Programmi\EasyPHP\includes\config.inc.php on line 103
    
    Warning: getimagesize: Unable to open '' for reading. in c:\Programmi\EasyPHP\includes\config.inc.php on line 43
    
    Warning: Division by zero in c:\Programmi\EasyPHP\includes\config.inc.php on line 105
    
    Warning: getimagesize: Unable to open '' for reading. in c:\Programmi\EasyPHP\includes\config.inc.php on line 43
    
    Warning: getimagesize: Unable to open '' for reading. in c:\Programmi\EasyPHP\includes\config.inc.php on line 43
    
    Warning: getimagesize: Unable to open '' for reading. in c:\Programmi\EasyPHP\includes\config.inc.php on line 43
    Linea 43:
    Codice PHP:
            $size GetImageSize$this->source ); 
    Linea 103:
    Codice PHP:
            $w_ratio $this->max_width  $this->GetImageData('width'); 
    Linea 105:
    Codice PHP:
            $h_ratio $this->max_height $this->GetImageData('height'); 
    cosa devo fare?

  4. #4
    i warnings sono una conseguenza di quanto gli passi...come hai inizializzato la classe?

  5. #5
    mi sono accorto dell'errore, non era nella tua classe ma nel percorso del file.

    Grazie mille!

  6. #6
    anche a me serviva una cosa simile... ma sono ostato su aruba... e mi da questo output la pagina...

    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, postmaster@milaureo.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log


    Forse non posso farlo su questo server... :zamm:
    Wami agency
    Io odio tutti gli up-loads!

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259

    Re: Thumb in PNG

    Originariamente inviato da pugia
    Codice PHP:
    //creazione della thumbnail
    $path "$abpath/$img2_name";
    $pat_def "$abpath/$thumb";
    $abc imagecreatefromPNG($path);
    $def imagecreate(80$hgth);
    imagecopyresampled($def$abc000080$hgth$wd$hg);
    imagepng($def$pat_def);
    ImageDestroy($abc);
    ImageDestroy($def); 
    prova, al posto di imagecreate(), ad utilizzare imagecreatetruecolor()

    ed a vedere se ti va bene

  8. #8
    sono riuscito a risolvere grazie alla classe di Ratatuia, avevo dimenticato di inserire le path

  9. #9
    volevo precisare che la classe nn è mia, l'avevo trovata su phpclasses.org...
    al massimo ho fatto delle piccole modifiche a seconda delle mie necessità

  10. #10

    Re: Re: Thumb in PNG

    Originariamente inviato da Dennis
    prova, al posto di imagecreate(), ad utilizzare imagecreatetruecolor()

    ed a vedere se ti va bene

    avevo visto anche io una cosa simile, ma almeno con quella classe risolveva il tutto con il minimo dispendio di codice...

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.