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

    [gd] problema in ridimensionamento immagine

    file test2.php

    Codice PHP:
    <?php

    $src_im 
    "img.jpg";
    $dst_im "400.jpg";

    list( 
    $src_w $src_h $src_type $src_attr ) = getimagesize$src_im );
    $dst_w 400;
    $dst_h ceil$dst_w / ( $src_w $src_h ) ) ;

    imagecopyresampled$dst_im $src_im 0000$dst_w$dst_h $src_w$src_h );

    ?>
    [quote]
    Warning: imagecopyresampled(): supplied argument is not a valid Image resource in D:\inetpub\wwwroot\test2.php on line 10
    [quote]

    S.O. Win2kPro
    Server IIS 4.0
    PHP 4.3.7 (librerie gd 2 abilitate)



    Totò, vero ma strano
    www.ateicos.com

  2. #2
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    fagianonzolo

    codice:
    <?php
    $src_im = "img.jpg";
    
    $dst_im = "400.jpg";
    
    $src_im = imagecreatefromjpeg($src_im); // <================ 
    list( $src_w , $src_h , $src_type , $src_attr ) = getimagesize( $src_im );
    
    $dst_w = 400;
    
    $dst_h = ceil( $dst_w / ( $src_w / $src_h ) ) ;
    
    imagecopyresampled( $dst_im , $src_im , 0, 0, 0, 0, $dst_w, $dst_h , $src_w, $src_h );
    ?>

  3. #3
    gay....ti sei scordato ad aprire l'immagine!

    cmq se vuoi uno script super figo che fa tutto...compreso ridimensionamento...

    ad es c'ho fatto questo
    http://phpsoft.no-ip.info/private/test.php.jpg
    (bordino in trasparenza + watermark in trasparenza+ ridimensionamento img)
    http://phpsoft.no-ip.info/private/imageresize.rar

    c'è un'esempio insieme ai file ^^

    sciauz

    PS: a breve lo devo uppare sul mio forum
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  4. #4
    daniè, non avevo mai usato le gd...

    vi posto il codice completo e funzionante della paginonza

    Codice PHP:
    <?php

    function image_resize$img_src $img_dst $img_dst_width ) {
        
    // controlla prima che il file esiste
        
    if ( !file_exists$img_src ) ) {

            echo 
    "impossibile trovare l'immagine specificata ";
        } else {

            
    // ricavo i dati dal file immagine

            
    list( $img_src_width $img_src_height $img_src_type $img_src_attr ) = getimagesize$img_src );

            
    // in base al tipo creo l'immagine da ridimensionare 
            
    switch( $img_src_type ) {
                case 
    1$img_tmp imageCreateFromGIF(  $img_src ); break;
                case 
    2$img_tmp imageCreateFromJpeg$img_src ); break;
                case 
    3$img_tmp imageCreateFromPNG(  $img_src ); break;
            }

            if ( 
    $img_src_width <= $img_dst_width ) {
                
    // se l'immagine ha larghezza inferiore a quella voluta, a che serve stringerla?
                
    return $img_tmp;
            } else {

                
    // se l'immagine non è gif, jpg o png...
                
    if ( !isset( $img_tmp ) ) {
                    echo 
    "l'immagine richiesta non è GIF, Jpeg o PNG. Non posso proseguire.";
                } else {
                    
    // matematica...
        
                    
    $img_dst_height ceil$img_dst_width / ( $img_src_width $img_src_height ) ) ;
        
                    
    //////////////////////////////////////////
                    //                                      //
                    // creo la nuova immagine in true color //
                    //                                      //
                    //////////////////////////////////////////
        
                    
    $img_new ImageCreateTrueColor$img_dst_width $img_dst_height );
        
                    
    // ridimensiono l'immagine creata prima coi nuovi dati
        
                    
    ImageCopyResampled$img_new $img_tmp 0000$img_dst_width $img_dst_height $img_src_width $img_src_height );
        
                    unset( 
    $img_tmp );
                    return 
    $img_new;
                }
            }
        }
    }

    function 
    image_write$img_tmp $img_dst ) {
        if ( 
    $img_dst == NULL ) { header'Content-Type: image/jpeg' ); }
        
    imagejpeg$img_tmp $img_dst 100 );
    }

    // sorgente
    $img_src "img.jpg";

    // destinazione
    $img_dst NULL
    // $img_dst = "400.jpg";

    // nuova larghezza
    $img_dst_width 150;

    // ottengo l'immagine ridimensionata
    $img_tmp image_resize$img_src $img_dst $img_dst_width );

    // richiamo la funzione della stampa dell'immagine
    image_write$img_tmp $img_dst );

    // libero la memoria 
    unset( $img_tmp );
    unset( 
    $img_src );
    unset( 
    $img_dst );
    unset( 
    $img_dst_width );

    ?>
    Totò, vero ma strano
    www.ateicos.com

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.