2012-06-19 30 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);