答案 0 :(得分:8)
创建x像素更高的图像,将原始图像复制到位置(0,0)
,然后将水印复制到位置(0,original_height)
:
$image = 'foo.jpg';
$watermark = 'watermark.png';
$imagesize = getimagesize($image);
$watermarksize = getimagesize($watermark);
$img = imagecreatetruecolor($imagesize[0], $imagesize[1] + $watermarksize[1]);
imagecopy($img, imagecreatefromjpeg($image), 0, 0, 0, 0, $imagesize[0], $imagesize[1]);
imagecopy($img, imagecreatefrompng($watermark), 0, $imagesize[1], 0, 0, $watermarksize[0], $watermarksize[1]);
imagejpeg($img);
未经测试,但它应该像那样工作。该代码假定水印不比原始图像宽。
答案 1 :(得分:1)
如果你希望它看起来不错,那就不那么容易了。
底部条纹需要3个块,即底部条纹的左侧,中间和右侧。建议所有3个块都具有相同的高度。
使用
imagecreatetruecolor(imagesx($original_picture), imagesy($original_picture)+$stripe_height);
然后:
imagecopymerge(...)
imagecopymerge(...)
,但您需要通过从输入图像的宽度减去右侧块的宽度来计算x目标imagecopyresize(...)
添加中间块。使用该函数确保它在左右块之间线性缩放。