2012-06-19 69 views
1

我試圖創建一個使用GD庫的圖像拼貼,但是我所有在屏幕上顯示的圖片都是破碎的圖片鏈接。PHP GD圖書館製作拼貼問題

即時消息源文件是從facebook的URL獲取 - 我檢查了圖像的鏈接,都是有效的。

我的循環代碼如下

$pos_counter=0; 
     $new_collage = imagecreatetruecolor(851,315); // Create our canvas 
     $pos = array(array(0,0), array(206,0), array(412,0), array(618,0)); 
     $width = 206; 
     foreach($collage_images as $image) 
     { 
      $current_image =  imagecreatefromstring(file_get_contents($image)); 
      imagecopymerge($new_collage, $current_image,  $pos[$pos_counter][0], $pos[$pos_counter][1],0,0,206,206); 
      imagedestroy($current_image); 
      $pos_counter++; 
     } 
     header("Content-type: image/jpeg"); 
     imagejpeg($new_collage); 

這只是返回一個破碎的圖片鏈接。

我開始了代碼調試:

例如,通過只是想輸出循環的每個圖像單獨也返回一個破碎圖像鏈接:

foreach($collage_images as $image) 
     { 
      $current_image =imagecreatefromstring(file_get_contents($image)); 
      header("Content-type: image/jpeg"); 
      imagejpeg($current_image); 

     } 

我也嘗試呼應$ current_image但我只是回來與資源ID顯示給我的imagecreatefromstring正在工作,因爲它不返回false?

+1

*「所有我曾經得到我的顯示屏幕上是一個破碎的圖像鏈接」 * - JUP,出事了。首先找出哪裏出了問題呢?我的意思是這可能意味着很多,包括網絡無法正常工作或者瀏覽器無法顯示這種圖像格式。所以請稍微鑽一下。你會從這樣做中獲益,而不僅僅是獲得答案。 – hakre

+0

@hakre這就是我一直在試圖做的事情 - 來自facebook api的圖像全部採用我創建的jpg格式。我爲拼貼獲得的圖片都是有效的網址,我很高興在這裏發佈任何可以幫助我的人。我真的不知道還有什麼地方不幸的。對不起,謝謝 –

+1

你做錯誤日誌?對於開發,請儘可能提供最高的值(記錄所有內容,包括嚴格通知和警告),同時您也需要自己進行錯誤檢查。圖像是否由字符串正確創建?檢查返回值!報告您自己的這類錯誤,讓您的程序處理這類錯誤。 – hakre

回答

1

@hakre建議打開錯誤報告。這樣做,發現我沒有傳遞圖像混濁。

imagecopymerge應該已經

imagecopymerge($new_collage, $current_image, $pos[$pos_counter][0], $pos[$pos_counter][1],0,0,206,206,100);