准备工作
在开始之前,请确保你的PHP环境已经安装了GD库。可以通过查看php.ini
文件中的extension_dir
和extension
配置项来确认GD库是否已安装。
水印添加基本步骤
以下是使用PHP添加水印的基本步骤:
- 读取原始图片:使用
imagecreatefromjpeg
、imagecreatefrompng
或imagecreatefromgif
函数读取原始图片。 - 创建水印图片:同样使用
imagecreatefromjpeg
、imagecreatefrompng
或imagecreatefromgif
函数读取水印图片。 - 设置水印透明度:如果水印图片带有透明背景,可以使用
imagecolortransparent
函数将背景色设置为透明。 - 添加水印到原始图片:使用
imagecopymerge
函数将水印图片复制到原始图片上,并设置合适的透明度。 - 保存处理后的图片:使用
imagejpeg
、imagepng
或imagegif
函数保存处理后的图片。 - 销毁图片资源:使用
imagedestroy
函数释放图片资源,避免内存泄漏。
代码示例
<?php
// 打开原始图片
$srcImage = imagecreatefromjpeg("original.jpg");
// 打开水印图片
$watermark = imagecreatefrompng("watermark.png");
// 设置水印透明背景
$transparency = imagecolorallocatealpha($watermark, 0, 0, 0, 127);
imagecolortransparent($watermark, $transparency);
// 添加水印到原始图片
imagecopymerge($srcImage, $watermark, 10, 10, 0, 0, imagesx($watermark), imagesy($watermark), 100);
// 保存处理后的图片
imagejpeg($srcImage, "watermarked.jpg");
// 销毁图片资源
imagedestroy($srcImage);
imagedestroy($watermark);
?>
高级技巧
- 动态调整水印位置:你可以根据图片大小和需要调整水印的位置。
- 支持多种图片格式:通过选择合适的函数,你可以支持多种图片格式的处理。
- 添加文字水印:除了图片水印,你还可以使用
imagestring
或imagettftext
函数添加文字水印。