在PHP中,要实现图片添加水印功能,你通常会使用GD库或者Imagick扩展。这里我将提供一个使用GD库来实现的基本示例。请注意,为了简化,我们假设你要在JPEG图片上添加文本水印。
<?php
function addWatermark(&$image, $watermarkText, $positionX, $positionY, $fontSize = 10, $textColor = '#FFFFFF') {
// 确保GD库已经启用
if (!function_exists('imagecreatetruecolor')) {
die('GD库未启用');
}
// 分配颜色
list($r, $g, $b) = sscanf($textColor, "#%02x%02x%02x");
$textColor = imagecolorallocate($image, $r, $g, $b);
// 创建字体大小
$font = 'arial.ttf'; // 指定字体文件路径,这里需要根据实际路径来修改
// 添加水印
imagettftext($image, $fontSize, 0, $positionX, $positionY, $textColor, $font, $watermarkText);
}
// 加载图片
$imagePath = 'path/to/your/image.jpg'; // 图片路径
$image = imagecreatefromjpeg($imagePath);
// 设置水印文本、位置和字体大小
$watermarkText = 'Watermark Text';
$positionX = 10;
$positionY = 20;
$fontSize = 20;
// 调用函数添加水印
addWatermark($image, $watermarkText, $positionX, $positionY, $fontSize);
// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($image);
// 释放内存
imagedestroy($image);
?>
**注意**:
1. 确保GD库已经安装并启用在你的PHP环境中。
2. `$font`变量需要指向一个有效的TTF字体文件路径,根据你的服务器环境进行相应的修改。
3. 图片路径`$imagePath`和水印文本`$watermarkText`需要根据实际情况进行调整。
4. 默认情况下,水印文本是白色的(`#FFFFFF`),你可以根据需要修改颜色。
5. 考虑到性能和安全性,直接对图片进行操作(如添加水印)时,请确保你了解这些操作可能带来的影响,并采取相应的安全措施。