2

我需要在 php 中连接图像(两个或更多),垂直和水平。最快的方法是什么?

obs:我不想使用非本地库

另一个疑问。生成的图像会具有图像大小的总和还是会更大?

谢谢 (:

4

1 回答 1

3
$newWidth = $w1 + $w2;
$newHeight = $h1 + $h2;
$newImage = imagecreatetruecolor($newWidth, $newHeight);

imagecopyresampled($newImage, $image1, 0, 0, 0, 0, $w1, $h1, $w1, $h1);
imagecopyresampled($newImage, $image2, $w1, 0, 0, 0, $w2, $h2, $w2, $h2);

现在我只是在堆栈溢出编辑器中对此进行了编码,并且未经测试,但这应该使用所有本机库并且可能是最快的。只需将 image1 复制并重新采样到前半部分(宽度方向),然后将第二个图像复制到后半部分(宽度方向),如果你想通过堆叠高度来做到这一点,它只会改变 dest_h 的位置。这是一些信息... http://php.net/manual/en/function.imagecopyresampled.php

哦,顺便说一句,那是为了保存图像。这就是我假设你在做什么。否则,使用标签将 2 张图像彼此相邻堆叠的答案将是最快的。

至于生成的图像,请记住。如果它们是水平放置的,那么如果图像垂直堆叠,那么宽度$w1 + $w2和高度将是相反的math.max($h1, $h2)

于 2011-04-26T17:36:10.413 回答