使用PHP GD组合两个图像

时间:2013-01-25 12:08:26

标签: php image gd watermark

我正在尝试创建一个图像,其中包含我的图像A(上传的图像)和图像B(我的水印图像)。我的问题是,我没有从图像A和B创建的底部扩展图像大小的正确方法。

我的代码是 -

$img_width=imagesx($img);
$img_height=imagesy($img);
$watermark=imagecreatefrompng($watermark);
$watermark_width=imagesx($watermark);
$watermark_height=imagesy($watermark);

$image=imagecreatetruecolor($img_width, $img_height+35);
imagealphablending($image, false);
$dest_x=$img_width-$watermark_width;
$dest_y=$img_height-$watermark_height+20;

imagecopy($img, $watermark, $dest_x, $dest_y, 0, 0,$watermark_width, $watermark_height);
imagesavealpha($img, true);
imagejpeg($img, $config['pdir']."/t/l-".$thepp, 90);
}

我使用此代码获得的是 -

Results http://www.9gag.in/pdata/t/l-76.jpg

您可以看到水印图像未与我想要创建的图像完全合并。我想在目标图像中有一个扩展区域,水印将正确安装。

1 个答案:

答案 0 :(得分:0)

当你写道:

$dest_y=$img_height-$watermark_height+20;

我猜你真的想要:

$dest_y=$img_height-$watermark_height-20;

图片顶部的Y = 0,所以你走得越多,你的身高就越高。