PHP GD库制作拼贴问题

时间:2012-06-19 09:45:33

标签: php gd

我正在尝试使用GD库创建图像拼贴但是我在屏幕上显示的所有内容都是图像链接损坏。

im源文件来自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 个答案:

答案 0 :(得分:1)

@hakre建议打开错误报告。这样做,发现我没有传递图像不透明度。

imagecopymerge应该是

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