PHP上传图片加水印是一种常见的图片处理技术,通过在图片上叠加一层或多层文字或图片,以达到版权保护、标识来源等目的。水印可以是透明的,也可以是半透明的,根据需求可以调整其位置、大小和透明度。
以下是一个简单的PHP示例代码,展示如何在上传的图片上添加文字水印:
<?php
// 上传文件处理
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
$tmp_name = $_FILES['file']['tmp_name'];
$image = imagecreatefromstring(file_get_contents($tmp_name));
$width = imagesx($image);
$height = imagesy($image);
// 创建水印文字
$text = 'Watermark';
$font_size = 20;
$font_color = imagecolorallocate($image, 255, 255, 255); // 白色
$x = $width - 100; // 水印位置
$y = $height - 50;
// 添加文字水印
imagettftext($image, $font_size, 0, $x, $y, $font_color, 'arial.ttf', $text);
// 保存处理后的图片
$output_path = 'watermarked_' . basename($_FILES['file']['name']);
imagejpeg($image, $output_path);
imagedestroy($image);
echo "图片已成功添加水印并保存为: " . $output_path;
} else {
echo "上传失败";
}
?>
ini_set('memory_limit', '256M');
$x
和$y
的值来精确控制水印的位置。通过以上方法,你可以实现一个基本的图片加水印功能。根据具体需求,还可以进一步优化和扩展功能。
领取专属 10元无门槛券
手把手带您无忧上云