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

    funzione upload e resize

    sto utilizzando questa funzione per uploadare e ridimensionare un'immagine, la funzione è praticabile sia per il JPG, per il GIF che per il PNG!

    soltanto che nel PNG e nel JPG le immagini miniature create sono di pessima qualità...

    so che per il jpg esiste la funzione imagecreatetruecolor, però non ho capito come e dove applicarla nel contesto della funzione, mentr eper il PNG quale modo ho per migliorare la qualità?


    Codice PHP:
    function resampimagejpg($forcedwidth$forcedheight$sourcefile$destfile$imgcomp,$type) {
       
    $g_imgcomp=100-$imgcomp;
       
    $g_srcfile=$sourcefile;
       
    $g_dstfile=$destfile;
       
    $g_fw=$forcedwidth;
       
    $g_fh=$forcedheight;

       if(
    file_exists($g_srcfile))
           {
           
    $g_is=getimagesize($g_srcfile);
           if((
    $g_is[0]-$g_fw)>=($g_is[1]-$g_fh))
               {
               
    $g_iw=$g_fw;
               
    $g_ih=($g_fw/$g_is[0])*$g_is[1];
               }
               else
               {
               
    $g_ih=$g_fh;
               
    $g_iw=($g_ih/$g_is[1])*$g_is[0];    
               }
           if (
    ereg("jpeg",$type)) $img_src=imagecreatefromjpeg($g_srcfile);
           if (
    ereg("gif",$type)) $img_src=imagecreatefromgif($g_srcfile);
           if (
    ereg("png",$type)) $img_src=imagecreatefrompng($g_srcfile);
           
    $img_dst=imagecreate($g_iw,$g_ih);
           
    imagecopyresampled($img_dst$img_src0000$g_iw$g_ih$g_is[0], $g_is[1]);
           
    imagejpeg($img_dst$g_dstfile$g_imgcomp);
           
    imagedestroy($img_dst);
           return 
    true;
           }
           else
           return 
    false;


  2. #2
    ecco io nn lo so, xo appena risolvi mi stampi la soluzione pf? la cercavo ankio

  3. #3
    era più semplice di quanto pensassi!!

    basta sostituire la funzione:

    $img_dst=imagecreate($g_iw,$g_ih);

    con:

    $img_dst=imagecreatetruecolor($g_iw,$g_ih);


    ... adesso devo vedere con gli altri formati se non ci sono problemi!

  4. #4
    per il jpg è ok, ma adesso mi serve per il PNG, in effetti la funzione imagecreatetruecolor funziona solo per il formato JPG!

    la funzione aggiornata ora è:

    Codice PHP:

    function resampimagejpg($forcedwidth$forcedheight$sourcefile$destfile$imgcomp,$type) {
       
    $g_imgcomp=100-$imgcomp;
       
    $g_srcfile=$sourcefile;
       
    $g_dstfile=$destfile;
       
    $g_fw=$forcedwidth;
       
    $g_fh=$forcedheight;

       if(
    file_exists($g_srcfile))
           {
           
    $g_is=getimagesize($g_srcfile);
           if((
    $g_is[0]-$g_fw)>=($g_is[1]-$g_fh))
               {
               
    $g_iw=$g_fw;
               
    $g_ih=($g_fw/$g_is[0])*$g_is[1];
               }
               else
               {
               
    $g_ih=$g_fh;
               
    $g_iw=($g_ih/$g_is[1])*$g_is[0];    
               }
           if (
    ereg("jpeg",$type)) $img_src=imagecreatefromjpeg($g_srcfile);
           if (
    ereg("gif",$type)) $img_src=imagecreatefromgif($g_srcfile);
           if (
    ereg("png",$type)) $img_src=imagecreatefrompng($g_srcfile);
           if (
    ereg("jpeg",$type)) {
                   
    $img_dst=imagecreatetruecolor($g_iw,$g_ih);
            } else {
                
    $img_dst=imagecreate($g_iw,$g_ih);
            }
           
    imagecopyresampled($img_dst$img_src0000$g_iw$g_ih$g_is[0], $g_is[1]);
           
    imagejpeg($img_dst$g_dstfile$g_imgcomp);
           
    imagedestroy($img_dst);
           return 
    true;
           }
           else
           return 
    false;


  5. #5
    grazie mille!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.