修剪图像以便在PHP中临时使用

修剪图像以便在PHP中临时使用,php,image,Php,Image,我希望能够修剪图像,其中许多图像垂直方向非常长…从2000到4000px,始终在800。因此,只获取图像的顶部。然后我想用PHP将其输出到一个页面/报表,而不存储生成的修剪图像 $imagepng->trim是最好的方法吗?您可以这样做: $srcName = 'source.png'; $info = getimageinfo($srcName); $src = imagecreatefrompng($srcName); // Create a new image up to 800px

我希望能够修剪图像,其中许多图像垂直方向非常长…从2000到4000px,始终在800。因此,只获取图像的顶部。然后我想用PHP将其输出到一个页面/报表,而不存储生成的修剪图像


$imagepng->trim是最好的方法吗?

您可以这样做:

$srcName = 'source.png';

$info = getimageinfo($srcName);
$src = imagecreatefrompng($srcName);

// Create a new image up to 800px tall
$dest = imagecreate($info[0], min($info[1], 800));
imagecopy($dest, $src, 0, 0, 0, 0, $info[0], min($info[1], 800));

// Output
header('Content-type: image/png');
imagepng($dest);

GD是imagepng使用的,它是PHP中最受广泛支持的图像处理方式,因此这是一个非常安全的选择,特别是如果您希望在不受控制的服务器上部署代码

另一种选择是查看ImageMagick,尽管我发现GD在大多数情况下都要快一点