1

我正在尝试使用 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?

4

1 回答 1

1

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

imagecopymerge 应该是

imagecopymerge($new_collage, $current_image, $pos[$pos_counter][0], $pos[$pos_counter][1],0,0,206,206,100);
于 2012-06-19T13:53:55.030 回答