• User Attivo

    Trasparenza

    Salve, in questo script vorrei preservare la trasparenza per le immagini png e gif caricate, come fare?

    error_reporting(0);
    
    $change="";
    $abc="";
    
    
    
    
     define ("MAX_SIZE","500");
     function getExtension($str) {
             $i = strrpos($str,".");
             if (!$i) { return ""; }
             $l = strlen($str) - $i;
             $ext = substr($str,$i+1,$l);
             return $ext;
     }
    
    
     $errors=0;
      
     if($_SERVER["REQUEST_METHOD"] == "POST")
     {
     	$image =$_FILES["file"]["name"];
    	$uploadedfile = $_FILES['file']['tmp_name'];
    
    
     	if ($image) 
     	{
     	
     		$filename = stripslashes($_FILES['file']['name']);
     	
      		$extension = getExtension($filename);
     		$extension = strtolower($extension);
    		
    		
     if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) 
     		{
    		
     			$change='<div class="msgdiv">Unknown Image extension </div> ';
     			$errors=1;
     		}
     		else
     		{
    
    
     $size=filesize($_FILES['file']['tmp_name']);
    
    
    
    
    if ($size > MAX_SIZE*1024)
    {
    	$change='<div class="msgdiv">You have exceeded the size limit!</div> ';
    	$errors=1;
    }
    
    
    
    
    if($extension=="jpg" || $extension=="jpeg" )
    {
    $uploadedfile = $_FILES['file']['tmp_name'];
    $src = imagecreatefromjpeg($uploadedfile);
    
    
    }
    else if($extension=="png")
    {
    $uploadedfile = $_FILES['file']['tmp_name'];
    $src = imagecreatefrompng($uploadedfile);
    
    
    }
    else 
    {
    $src = imagecreatefromgif($uploadedfile);
    }
    
    
    echo $scr;
    
    
    list($width,$height)=getimagesize($uploadedfile);
    
    
    
    
    $newwidth=60;
    $newheight=($height/$width)*$newwidth;
    $tmp=imagecreatetruecolor($newwidth,$newheight);
    
    
    $newwidth1=128;
    $newheight1=($height/$width)*$newwidth1;
    $tmp1=imagecreatetruecolor($newwidth1,$newheight1);
    
    
    $newwidth2=100;
    $newheight2=($height/$width)*$newwidth2;
    $tmp2=imagecreatetruecolor($newwidth2,$newheight2);
    
    
    $newwidth3=80;
    $newheight3=($height/$width)*$newwidth3;
    $tmp3=imagecreatetruecolor($newwidth3,$newheight3);
    
    
    imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
    
    
    imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1,$width,$height);
    
    
    imagecopyresampled($tmp2,$src,0,0,0,0,$newwidth2,$newheight2,$width,$height);
    
    
    imagecopyresampled($tmp3,$src,0,0,0,0,$newwidth3,$newheight3,$width,$height);
    
    
    $filename = "images/". $_FILES['file']['name'];
    
    
    $filename1 = "images/small/". $_FILES['file']['name'];
    
    
    $filename2 = "images/100/". $_FILES['file']['name'];
    
    
    $filename3 = "images/80/". $_FILES['file']['name'];
    
    
    
    
    
    
    imagejpeg($tmp,$filename,100);
    
    
    imagejpeg($tmp1,$filename1,100);
    
    
    imagejpeg($tmp2,$filename2,100);
    
    
    imagejpeg($tmp3,$filename3,100);
    
    
    imagedestroy($src);
    imagedestroy($tmp);
    imagedestroy($tmp1);
    imagedestroy($tmp2);
    imagedestroy($tmp3);
    }}
    
    
    }
    
    
    //If no errors registred, print the success message
     if(isset($_POST['Submit']) && !$errors) 
     {
     
       // mysql_query("update {$prefix}users set img='$big',img_small='$small' where user_id='$user'");
     	$change='<div>Image Uploaded Successfully!</div>';
     }
    

    Grazie mille!


  • User Attivo

    ma le immagini che carichi sono già trasparenti?


  • User Attivo

    Salve, si, le immagini che carico in png o gif che sono già trasparente vengono fuori con sfondo nero.


  • User Attivo

    io quando ho la necessità di caricare immagini trasparenti le carico con il tag img "classico" e mantengono sempre le loro proprietà


  • User Attivo

    Non ho ben capito


  • User Attivo

    Magari ho capito male io la richiesta ma se le immagini che carichi sono già con la trasparenza, lo script con cui carichi le immagini a cosa ti serve?
    non ti basta caricare le immagini e racchiuderle in un tag img?