已经想出了以下调整图像大小的代码,但是它不会将文件输出到picture2.jpg,而只会显示在屏幕上。
$src_img = imagecreatefromjpeg('picture.jpg');
$srcsize = getimagesize('picture.jpg');
$dest_x = 500;
$dest_y = (500 / $srcsize[0]) * $srcsize[1];
$dst_img = imagecreatetruecolor($dest_x, $dest_y);
// Resize image
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_x, $dest_y, $srcsize[0], $srcsize[1]);
// Output image
header("content-type: image/png");
imagepng($dst_img);
$myFile = "picture2.jpg";
$fh = fopen($myFile, 'w');
fwrite($fh, $dst_img);
fclose($fh);
// Deletes images
imagedestroy($src_img);
我不知道为什么它不会这样做,因为认为您可以使用 fwrite 写入文件。