2016-08-20 41 views
1

這是我用來在我的網站中調整圖像大小的腳本。但我不知道如何添加一個功能來保存該圖像的縮略圖。 如果我可以保存拇指,稍後可以使用該拇指,而不必一次又一次地使用此腳本。如何在此腳本中保存縮略圖?

<?php 
    $time=time(); 
    $neww = 65; 
    $newh = 87; 
    $file=htmlspecialchars($_GET['file']); 
    list(, , $type,)=getimagesize($file); 

    if($type==1) { 
     $funci='imagecreatefromgif'; 
    } //$funco='imagegif';} 

    if($type==2) { 
     $funci='imagecreatefromjpeg'; 
    } //$funco='imagejpeg';} 

    if($type==3) { 
     $funci='imagecreatefrompng'; 
    } //$funco='imagepng';} 

    if($type) { 
     $im1 = $funci($file); 
     $im2=imagecreatetruecolor($neww,$newh); 
     imagecopyresized($im2, $im1, 0,0,0,0,$neww,$newh, imagesx($im1), imagesy($im1)); 

     header('Content-type: image/gif'); 
     imagegif($im2); 
    } 
?> 
+1

Vinod,我看不到刪除整個代碼的理由,是嗎? Rollbacked –

回答

0

imagegif已經這樣做,對你,如果你傳遞一個文件的位置要到作爲第二個參數保存到該功能。

imagegif($im2); //output raw image stream directly 
imagegif($im2, 'path/to/image_save.gif'); //saves to the file at mentioned path 

雖然,必須注意的是,如果path/to/image_save.gif已經存在,它將被覆蓋。

+0

它的工作!謝謝...這個腳本生成的圖像似乎缺乏質量。你可以建議一行代碼或相同的修改,以獲得100%的質量?所有Iant都會降低圖像分辨率... –

+0

這是GIF格式的問題。 GIF有256種顏色,JPEG有4,294,967,296種顏色。因此,請嘗試使用['imagejpeg'](https://secure.php.net/manual/en/function.imagejpeg.php)或更好['imagepng'](https://secure.php.net/manual /en/function.imagepng.php)進行虛擬無損壓縮。順便說一句,因爲這個新的問題超出了本文的範圍,所以我建議你提出一個新的問題,並且閱讀['PHP GD'](http://php.net/manual/en/ref.image .php) – Fr0zenFyr

+0

你也可以upvote的答案,因爲它有幫助嗎? :) – Fr0zenFyr