准备工作

在开始之前,请确保你的PHP环境已经安装了GD库。可以通过查看php.ini文件中的extension_dirextension配置项来确认GD库是否已安装。

水印添加基本步骤

以下是使用PHP添加水印的基本步骤:

  1. 读取原始图片:使用imagecreatefromjpegimagecreatefrompngimagecreatefromgif函数读取原始图片。
  2. 创建水印图片:同样使用imagecreatefromjpegimagecreatefrompngimagecreatefromgif函数读取水印图片。
  3. 设置水印透明度:如果水印图片带有透明背景,可以使用imagecolortransparent函数将背景色设置为透明。
  4. 添加水印到原始图片:使用imagecopymerge函数将水印图片复制到原始图片上,并设置合适的透明度。
  5. 保存处理后的图片:使用imagejpegimagepngimagegif函数保存处理后的图片。
  6. 销毁图片资源:使用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);
?>

高级技巧

  1. 动态调整水印位置:你可以根据图片大小和需要调整水印的位置。
  2. 支持多种图片格式:通过选择合适的函数,你可以支持多种图片格式的处理。
  3. 添加文字水印:除了图片水印,你还可以使用imagestringimagettftext函数添加文字水印。