2011-12-14 79 views
0

我使用下面的腳本根據上傳圖像的人創建JPG。會發生什麼,即使圖像是完全相同的寬度/高度,它仍然會失去質量,以至於無法接受。imagecreatetruecolor()使我的圖像失去質量

$im = imagecreatefromjpeg($_FILES['cpicture']['tmp_name']); 
$thumb=imagecreatetruecolor(507,307); 
ImageCopyResampled($thumb,$im,0,0,0,0,$newwidth,$newheight,ImageSX($im),ImageSY($im)); 
ImagejpeG($thumb,"uploads/".$randomvalue.".jpg"); 
$imgurl="uploads/".$randomvalue.".jpg"; 

這些功能是否降低了質量?

+1

函數名...有創意資本:O) – deceze 2011-12-14 10:12:23

回答

3

imagejpeg的第三個參數是圖像的質量將被輸出:

quality是可選的,從0(最差質量,更小的文件)到100(最好的質量,最大文件)的範圍內。默認爲IJG默認的質量值(約75)。

試着改變你的代碼的相關行:

ImagejpeG($thumb,"uploads/".$randomvalue.".jpg", 100); 
+0

它上傳好得多。非常感謝你! – Tiny 2011-12-14 10:25:04

0

JPEG總是輸的質量,因爲它是一種有損壓縮。 如果您不想要,請使用例如PNG。 呀或輸出的質量爲100比

ImagejpeG($thumb,"uploads/".$randomvalue.".jpg", 100);