Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在这种情况下,GD为什么会压缩我调整大小的图像_Php_Image Processing_Compression_Gd_Jpeg - Fatal编程技术网

Php 在这种情况下,GD为什么会压缩我调整大小的图像

Php 在这种情况下,GD为什么会压缩我调整大小的图像,php,image-processing,compression,gd,jpeg,Php,Image Processing,Compression,Gd,Jpeg,我有一个过程,在这个过程中,我需要一个JPG并调整它的大小 我的意图是不应用任何额外的压缩,只需修改维度,但是,在代码运行后,图像的大小比我预期的要小(并且质量更差) 我很好奇是否有什么地方我做错了(我是GD/Imagemagick的新手),以及是否有其他的步骤需要我来保持质量 这是我的密码: $src = imagecreatefromjpeg($originalLocation); $dst = imagecreatetruecolor($destinationWidth, $destina

我有一个过程,在这个过程中,我需要一个JPG并调整它的大小

我的意图是不应用任何额外的压缩,只需修改维度,但是,在代码运行后,图像的大小比我预期的要小(并且质量更差)

我很好奇是否有什么地方我做错了(我是GD/Imagemagick的新手),以及是否有其他的步骤需要我来保持质量

这是我的密码:

$src = imagecreatefromjpeg($originalLocation);
$dst = imagecreatetruecolor($destinationWidth, $destinationHeight);
list($oWidth, $oHeight, $type, $attr) = getimagesize($originalLocation);
imagecopyresampled($dst, $src, 0, 0, 0, 0,$destinationWidth,$destinationHeight,$oWidth,$oHeight);
imagejpeg($dst, $destinationLocation, 100 );
源图像为1024x600和~450k 生成的图像为640x375,但只有约30k


在代码中,我似乎可以控制压缩的唯一地方是imagejpeg调用,在这里我通过了100。为什么一张大于原始图像大小50%的图像会缩小到,看起来一切正常,但很明显,质量设置被忽略了。尽管州政府规定可以将质量设置设置为100,但我还是会尝试99,看看它是否有区别。

一切看起来都正常,但很明显,质量设置被忽略了。即使你可以使用100的质量设置,我还是会尝试99看看它是否有区别。

ImageMagik完全解决了这个问题,所以,我只是使用它。

ImageMagik完全解决了这个问题,所以,我只是在使用它。

从技术上讲,它并不是大小的50%,与原始的614k像素相比,它大约是240k像素。30k图像看起来像什么?你看过目标文件了吗?对于高质量的640x375图像来说,30k真的很小。也许维度不是你想象的那样。你有能力在不同的主机上测试吗?我在不同的GD版本和OSs中遇到了很多不一致的地方。很高兴能排除这种可能性…@Amber,我听到了,但我希望最终的文件有一个类似的比率。。。目前,它有着显著的不同。从技术上讲,它的大小不是原来的50%,与原来的614k像素相比,它大约是240k像素。30k图像看起来像什么?你看过目标文件了吗?对于高质量的640x375图像来说,30k真的很小。也许维度不是你想象的那样。你有能力在不同的主机上测试吗?我在不同的GD版本和OSs中遇到了很多不一致的地方。很高兴能排除这种可能性…@Amber,我听到了,但我希望最终的文件有一个类似的比率。。。目前情况大不相同。