我希望能够修剪图像,其中许多图像垂直很长......从2000到4000px,总是800.所以只能获得图像的顶部。然后,我想用PHP输出这个页面/报告,而不会产生合成的修剪图像。
$ imagepng->修剪最佳方法吗?
答案 0 :(得分:1)
你会做这样的事情:
$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);
答案 1 :(得分:0)
GD是imagepng使用的,它是在PHP中进行图像处理的最广泛支持的方式,所以这是一个非常安全的选择,特别是如果您希望在无法控制的服务器上部署代码。
另一种方法是看看ImageMagick,虽然我发现在大多数情况下GD速度要快一些。