在PHP中,imagecopymerge()
函数用于将一个图像粘贴到另一个图像上,并指定透明度。这个函数通常用于创建图像水印效果,即在一张图片上叠加另一张带有标识或者信息的图片。
下面是一个简单的示例,演示了如何使用imagecopymerge()
函数在一张图片上添加水印:
// 创建一个背景图像
$background = imagecreatefromjpeg('background.jpg');
// 创建一个水印图像
$watermark = imagecreatefrompng('watermark.png');
// 获取水印图像的宽度和高度
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
// 设置水印的位置(这里设置在右下角,距离边缘20像素)
$dest_x = imagesx($background) - $watermark_width - 20;
$dest_y = imagesy($background) - $watermark_height - 20;
// 将水印图像合并到背景图像上
imagecopymerge($background, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 50);
// 输出合并后的图像到浏览器
header('Content-Type: image/jpeg');
imagejpeg($background);
// 释放内存
imagedestroy($background);
imagedestroy($watermark);
在上面的示例中,我们首先创建了一个背景图像(background.jpg
)和一个水印图像(watermark.png
)。然后计算了水印在背景图像上的位置,并使用imagecopymerge()
函数将水印图像合并到背景图像上,并设置了50的透明度。最后,将合并后的图像输出到浏览器,并释放内存。
通过调整水印的位置、透明度等参数,可以实现不同的水印效果。这种方法可以用于给图片添加标识、版权信息等。