我使用简单的图片上传php代码,但图像质量下降为100x100 50x50。如何提高图像质量?
我想在上传照片时使用高质量的照片。
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);
imagealphablending($src, false);
imagesavealpha($src, true);
imagealphablending($src, false);
imagesavealpha($src, true);
}
else
{
$src = imagecreatefromgif($uploadedfile);
}
echo $scr;
list($width,$height)=getimagesize($uploadedfile);
if($width>75)
{
$newwidth=50;
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);
$newwidth1=100;
$newheight1=($height/$width)*$newwidth1;
$tmp1=imagecreatetruecolor($newwidth1,$newheight1);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1,$width,$height);
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$mainfilename = $username.".".$ext;
$filename = "pics/50/". $username.".".$ext;
$filename1 = "pics/100/". $username.".".$ext;
imagejpeg($tmp,$filename,50);
imagejpeg($tmp1,$filename1,100);
有人可以帮助我使用一张大照片制作4张尺寸的缩略图,但质量很好吗?
答案 0 :(得分:0)
imagejpeg()
的第三个参数是图像质量(不是您的代码似乎暗示的大小)。
只需将其设置为100即可获得最高质量。
答案 1 :(得分:0)
bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )
因此,为了获得最高质量的图像,您需要将质量设置为100
//0 = lowest, 100 = highest. ~75 = default
imagejpeg($tmp1,$filename1,100);