我正在使用下面的脚本根据上传图片的人创建JPG。会发生的是,即使图像的宽度/高度完全相同,它仍然会失去质量,以至于它是不可接受的。
$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";
这些功能会降低质量吗?
答案 0 :(得分:3)
imagejpeg
的第三个参数是要输出的图像的质量:
quality
是可选的,范围从0(最差质量,较小文件)到100(最佳质量,最大文件)。默认值是默认的IJG质量值(约75)。
尝试将代码的相关行更改为:
ImagejpeG($thumb,"uploads/".$randomvalue.".jpg", 100);
答案 1 :(得分:0)
JPEG总是会失去质量,因为它是一台有损压缩器。 如果您不想这样,请使用例如PNG。 是的或者将输出的质量设置为100:
ImagejpeG($thumb,"uploads/".$randomvalue.".jpg", 100);