确保GD库已安装
首先,你需要确保你的 PHP 环境中已经安装了 GD 库。你可以通过以下 PHP 脚本来检查 GD 库是否可用:
<?php
if (extension_loaded('gd')) {
echo "GD库已安装";
} else {
echo "GD库未安装";
// 如果GD库未安装,你需要根据操作系统的不同,通过相应的包管理工具进行安装。
}
?>
准备原始图片和水印图片
编写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);
// 获取原始图片和水印图片的尺寸
$sourceImageWidth = imagesx($sourceImage);
$sourceImageHeight = imagesy($sourceImage);
$watermarkImageWidth = imagesx($watermarkImage);
$watermarkImageHeight = imagesy($watermarkImage);
// 计算水印图片的位置
$x = $sourceImageWidth - $watermarkImageWidth - 10;
$y = $sourceImageHeight - $watermarkImageHeight - 10;
// 将水印图片复制到原始图片上
imagecopymerge($sourceImage, $watermarkImage, $x, $y, 0, 0, $watermarkImageWidth, $watermarkImageHeight, 50);
// 输出(保存)带水印的图片
imagejpeg($sourceImage, $outputImagePath);
// 释放内存
imagedestroy($sourceImage);
imagedestroy($watermarkImage);
?>
使用文字作为水印
<?php
// 原始图片路径
$sourceImagePath = 'path/to/your/source/image.jpg';
// 输出图片路径
$outputImagePath = 'path/to/your/output/imagewithtextwatermark.jpg';
// 创建原始图片的GD资源
$sourceImage = imagecreatefromjpeg($sourceImagePath);
// 获取原始图片的尺寸
$sourceImageWidth = imagesx($sourceImage);
$sourceImageHeight = imagesy($sourceImage);
// 设置文字颜色和字体
$textColor = imagecolorallocatealpha($sourceImage, 255, 255, 255, 50); // 透明度50%
$textFont = 5; // 字体大小
// 添加文字水印
imagestring($sourceImage, $textFont, $sourceImageWidth - 100, $sourceImageHeight - 20, 'Your Text', $textColor);
// 输出(保存)带文字水印的图片
imagejpeg($sourceImage, $outputImagePath);
// 释放内存
imagedestroy($sourceImage);
?>