2012-01-11 155 views
0

我試圖平鋪多個圖像,即將一個直接放在另一個下面。它們都具有相同的寬度(120px)和不同的高度。用PHP拼接圖像GD

這是我有:

$finalbg = null; 
for($i=0; $i<7; $i++) { 
    $addbg = imagecreatefromjpeg('images/left/'.$url[$drawn]); 
    $addsize = imagesy($addbg); 

    if($finalbg != null) $basesize = imagesy($finalbg); else $basesize = 0; 
    $newsize = $addsize+$basesize; 

    $newbg = imagecreatetruecolor(120, $newsize); 
    if($finalbg != null) imagecopy($newbg, $finalbg, 0, 0, 0, 0, 120, $basesize); 
    imagecopy($newbg, $addbg, 0, $basesize, 0, 0, 120, $addsize); 
    $finalbg = $newbg; 
} 

header("Content-type: image/jpeg"); 
imagejpeg($finalbg); 

大小正確輸出,但它一直告訴圖像包含錯誤,我不知道爲什麼:(同樣的事情,如果我嘗試輸出addbg或newbg 。

感謝。

+0

$ url [$ drawn]是否正確?或者你需要像$ url [$ i]之類的東西? – djot 2012-01-11 03:23:22

+0

看到你得到的實際錯誤,轉到文件>保存頁面,然後打開記事本中的「圖像」。閱讀錯誤,並將其發佈到此處。 – Different55 2012-01-11 03:23:45

+0

是,$ url [$ drawn]是正確的:) 我看到一個隨機字符的加載,但沒有錯誤信息。 – bur 2012-01-11 03:35:08

回答

0

好了,顯然這個問題是,有HTML本來應該呈現的頁面上,這證明不是可以結合一個GD圖像。

所以我採取了不同的方法。我將渲染圖像保存爲文件,如下所示:

imagejpeg($finalbg, 'images/left/bg.jpg'); 

並將其設置爲CSS中的背景。現在它的工作!