PHP GD imagescale 返回错误的图像尺寸

Dan*_*iel 0 php gd

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

$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);
Run Code Online (Sandbox Code Playgroud)

该代码似乎工作正常。例如,如果我使用 391x291 像素图像,我会得到与更改一致的较小图像。问题是,如果我尝试通过我的操作系统 (Windows 8) 或 PHP 获取有关(调整大小的)图像大小的信息:

 $imageSize = getimagesize('simpletext.jpg');
 echo 'Image size: ' . $imageSize[0] . 'x' . $imageSize[1];
Run Code Online (Sandbox Code Playgroud)

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

Sas*_*hev 5

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

imagejpeg($imageScaled, 'simpletext.jpg',90);
Run Code Online (Sandbox Code Playgroud)