2011-04-26 30 views

回答

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); 

現在我所做的只是在棧溢出編輯代碼這一點,它是未經測試,但應該使用所有的本地庫,可能是最快的只是複製和重新採樣圖像1成。前半部分(寬度方向),然後將第二個圖像複製到第二部分(寬度方向),如果你想通過在高度上堆疊來完成,它只會改變dest_h所在的位置。以下是一些信息... http://php.net/manual/en/function.imagecopyresampled.php

哦順便說一句,這是爲了保存圖像,這就是我假設你的做法。否則有關堆疊2圖像的答案旁邊的標籤將是最快的。

至於生成的圖像,請記住。如果它們水平放置,那麼寬度將是$w1 + $w2,高度將是math.max($h1, $h2),如果圖像垂直堆疊,則寬度將相反

+0

通常,這適用於實體圖像。對於透明的,你應該提供更多的代碼。 – Wh1T3h4Ck5 2011-04-26 17:40:08

+0

這真的很有幫助!如果$ image1是JPG而$ image2是PNG(例如),會不會成爲問題? – 2011-04-26 17:41:32

+0

@ Wh1T3h4Ck5我們在談論多少代碼? – 2011-04-26 17:44:03

相關問題