在PHP中,可以使用GD库来处理图片水印。GD库是一个用来处理图片的开源库,PHP中自带GD库。下面是一个简单的例子来给一张图片添加水印:
<?php
// 读取原始图片
$source_img = imagecreatefromjpeg('source.jpg');
// 创建水印图片
$watermark_img = imagecreatefrompng('watermark.png');
// 获取原始图片和水印图片的宽度和高度
$source_width = imagesx($source_img);
$source_height = imagesy($source_img);
$watermark_width = imagesx($watermark_img);
$watermark_height = imagesy($watermark_img);
// 计算水印图片在原始图片中的位置,并将水印图片合并到原始图片中
$dest_x = $source_width - $watermark_width - 10;
$dest_y = $source_height - $watermark_height - 10;
imagecopy($source_img, $watermark_img, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height);
// 输出处理后的图片
header('Content-type: image/jpeg');
imagejpeg($source_img);
// 释放内存
imagedestroy($source_img);
imagedestroy($watermark_img);
?>
上面的代码中,我们首先使用imagecreatefromjpeg()
函数读取原始图片和imagecreatefrompng()
函数创建水印图片。然后,使用imagesx()
和imagesy()
函数获取宽度和高度。接下来,计算水印图片在原始图片中的位置,并使用imagecopy()
函数将水印图片合并到原始图片中。最后,使用imagejpeg()
函数输出处理后的图片,并使用imagedestroy()
函数释放内存。
除了上面的例子,还可以使用GD库实现更多的图片处理功能,比如缩放、裁剪、旋转等等。