引言
准备工作
<?php
if (extension_loaded('gd')) {
echo "GD库已安装";
} else {
echo "GD库未安装";
}
?>
如果GD库未安装,你需要根据操作系统的不同,通过相应的包管理工具进行安装。
步骤一:准备原始图片和水印图片
- 原始GIF图片:
path/to/your/source/image.gif - 水印PNG图片:
path/to/your/watermark/image.png
步骤二:编写PHP脚本添加水印
<?php
// 原始图片路径
$sourceImagePath = 'path/to/your/source/image.gif';
// 水印图片路径
$watermarkImagePath = 'path/to/your/watermark/image.png';
// 输出图片路径(可以设置为与原始图片相同的路径以覆盖它)
$outputImagePath = 'path/to/your/output/imagewithwatermark.gif';
// 创建原始图片的GD资源
$sourceImage = imagecreatefromgif($sourceImagePath);
if (!$sourceImage) {
die('无法打开原始图片');
}
// 创建水印图片的GD资源
$watermarkImage = imagecreatefrompng($watermarkImagePath);
if (!$watermarkImage) {
die('无法打开水印图片');
}
// 获取原始图片和水印图片的尺寸
$sourceWidth = imagesx($sourceImage);
$sourceHeight = imagesy($sourceImage);
$watermarkWidth = imagesx($watermarkImage);
$watermarkHeight = imagesy($watermarkImage);
// 计算水印图片的放置位置
$positionX = $sourceWidth - $watermarkWidth;
$positionY = $sourceHeight - $watermarkHeight;
// 将水印图片合并到原始图片上
imagecopy($sourceImage, $watermarkImage, $positionX, $positionY, 0, 0, $watermarkWidth, $watermarkHeight);
// 输出带有水印的图片
imagegif($sourceImage, $outputImagePath);
imagedestroy($sourceImage);
imagedestroy($watermarkImage);
?>