我正在使用 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 像素。这是为什么?
您正在保存原始图像而不是缩放后的图像。修复您的代码以执行此操作:
imagejpeg($imageScaled, 'simpletext.jpg',90);
Run Code Online (Sandbox Code Playgroud)