使用PHP GD平铺图像

时间:2012-01-11 03:08:33

标签: php image gd tiling

我正在尝试平铺多个图像,即将一个图像直接放在另一个图像下面。它们都具有相同的宽度(120px)和不同的高度。

这就是我所拥有的:

$finalbg = null;
for($i=0; $i<7; $i++) {
    $addbg = imagecreatefromjpeg('images/left/'.$url[$drawn]);
    $addsize = imagesy($addbg);

    if($finalbg != null) $basesize = imagesy($finalbg); else $basesize = 0;
    $newsize = $addsize+$basesize;

    $newbg = imagecreatetruecolor(120, $newsize);
    if($finalbg != null) imagecopy($newbg, $finalbg, 0, 0, 0, 0, 120, $basesize);
    imagecopy($newbg, $addbg, 0, $basesize, 0, 0, 120, $addsize);
    $finalbg = $newbg;
}

header( "Content-type: image/jpeg" );
imagejpeg($finalbg);

大小输出正确,但它一直告诉图像包含错误,我不明白为什么:(如果我尝试输出addbg或newbg也一样。

感谢。

1 个答案:

答案 0 :(得分:0)

好吧,显然问题是页面上有HTML应该被渲染,结果不能与GD图像结合使用。

所以我采取了不同的方法。我将渲染的图像保存为文件,如下所示:

imagejpeg($finalbg, 'images/left/bg.jpg');

并将其设置为CSS中的背景。现在它有效!