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);
我正在使用 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);