我正在尝试使用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?
答案 0 :(得分:1)
@hakre建议打开错误报告。这样做,发现我没有传递图像不透明度。
imagecopymerge应该是
imagecopymerge($new_collage, $current_image, $pos[$pos_counter][0], $pos[$pos_counter][1],0,0,206,206,100);