1. 确保GD库已安装

首先,确保你的PHP环境中已经安装了GD库。你可以通过创建一个简单的PHP脚本来检查GD库是否可用:

<?php
if (extension_loaded('gd')) {
    echo "GD库已安装";
} else {
    echo "GD库未安装";
}
?>

如果GD库未安装,你需要根据操作系统的不同,通过相应的包管理工具进行安装。

2. 准备原始图片和水印图片

3. 编写PHP脚本来添加水印

<?php
// 原始图片路径
$sourceImagePath = 'path/to/your/source/image.jpg';
// 水印图片路径
$watermarkImagePath = 'path/to/your/watermark/image.png';
// 输出图片路径(可以设置为与原始图片相同的路径以覆盖它)
$outputImagePath = 'path/to/your/output/imagewithwatermark.jpg';

// 创建原始图片的GD资源
$sourceImage = imagecreatefromjpeg($sourceImagePath);
// 创建水印图片的GD资源
$watermarkImage = imagecreatefrompng($watermarkImagePath);

// 获取原始图片和水印图片的大小
$sourceWidth = imagesx($sourceImage);
$sourceHeight = imagesy($sourceImage);
$watermarkWidth = imagesx($watermarkImage);
$watermarkHeight = imagesy($watermarkImage);

// 将水印图片复制到原始图片上
imagecopymerge($sourceImage, $watermarkImage, $sourceWidth - $watermarkWidth, $sourceHeight - $watermarkHeight, 0, 0, $watermarkWidth, $watermarkHeight, 100);

// 保存带有水印的图片
imagejpeg($sourceImage, $outputImagePath);

// 释放内存资源
imagedestroy($sourceImage);
imagedestroy($watermarkImage);
?>

4. 使用PHP类库简化水印添加

如果你希望简化水印添加的过程,可以使用一些PHP类库,如PHP Image Watermark类。以下是一个使用该类库的示例:

<?php
// 引入类库
require 'path/to/imageWatermark.php';

// 创建水印实例
$watermark = new ImageWatermark();

// 设置原始图片和水印图片路径
$watermark->setSourceImage('path/to/your/source/image.jpg');
$watermark->setWatermarkImage('path/to/your/watermark/image.png');

// 设置水印位置
$watermark->setWatermarkPosition('bottom-right');

// 设置水印透明度
$watermark->setWatermarkTransparency(100);

// 保存带有水印的图片
$watermark->save('path/to/your/output/imagewithwatermark.jpg');
?>

5. 总结