PHP GD imagescale returns 图像大小错误

PHP GD imagescale returns wrong image size

我正在使用 GD 库重新缩放 jpeg 图像,以便生成的图像具有 100 像素的宽度。我使用以下代码:

$image =  imagecreatefromjpeg('images/Image1.jpg');
$imageScaled = imagescale($image, 100);
// Save the image as 'simpletext.jpg'
imagejpeg($image, 'simpletext.jpg',90);
// Free up memory
imagedestroy($image);

代码似乎可以正常工作。例如,如果我使用 391x291 像素的图像,我会得到一个与更改一致的较小图像。问题是,如果我尝试通过我的 OS (Windows 8) 或通过 PHP:

获取有关(调整大小的)图像大小的信息
 $imageSize = getimagesize('simpletext.jpg');
 echo 'Image size: ' . $imageSize[0] . 'x' . $imageSize[1];

我知道图像尺寸仍然是 391x291 像素。这是为什么?

您保存的是原始图像,而不是缩放后的图像。修复您的代码以执行此操作:

imagejpeg($imageScaled, 'simpletext.jpg',90);