引言
前提条件
- PHP环境已安装GD库
- 有基本的PHP编程知识
步骤一:准备图片和水印素材
在开始之前,您需要准备以下素材:
- 原始图片:您想要添加水印的图片文件。
- 水印素材:可以是图片或文字。
步骤二:安装GD库
确保您的PHP环境中已安装GD库。可以通过编辑php.ini文件来启用GD库:
extension=php_gd2
重启Web服务器以应用更改。
步骤三:创建PHP脚本
创建一个PHP文件,例如add_watermark.php,并编写以下代码:
<?php
// 设置原始图片和水印图片的路径
$srcImage = 'path/to/source/image.jpg';
$waterImage = 'path/to/watermark/image.png';
// 打开原始图片和水印图片
$srcImg = imagecreatefromjpeg($srcImage);
$waterImg = imagecreatefrompng($waterImage);
// 获取图片尺寸
$srcWidth = imagesx($srcImg);
$srcHeight = imagesy($srcImg);
$waterWidth = imagesx($waterImg);
$waterHeight = imagesy($waterImg);
// 设置水印位置
$positionX = ($srcWidth - $waterWidth) / 2;
$positionY = ($srcHeight - $waterHeight) / 2;
// 合并图片
imagecopymerge($srcImg, $waterImg, $positionX, $positionY, 0, 0, $waterWidth, $waterHeight, 50);
// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($srcImg);
// 释放内存
imagedestroy($srcImg);
imagedestroy($waterImg);
?>
步骤四:运行PHP脚本
步骤五:添加文字水印
如果您想要添加文字水印,可以使用imagettftext函数。以下是修改后的代码:
<?php
// 设置原始图片和水印文本
$srcImage = 'path/to/source/image.jpg';
$waterText = 'Copyright © 2023';
// 打开原始图片
$srcImg = imagecreatefromjpeg($srcImage);
// 获取图片尺寸
$srcWidth = imagesx($srcImg);
$srcHeight = imagesy($srcImg);
// 设置文字水印的字体和颜色
$fontFile = 'path/to/font/arial.ttf';
$fontColor = imagecolorallocate($srcImg, 255, 255, 255); // 白色
$fontSize = 20;
// 设置水印位置
$positionX = $srcWidth - 100;
$positionY = $srcHeight - 30;
// 添加文字水印
imagettftext($srcImg, $fontSize, 0, $positionX, $positionY, $fontColor, $fontFile, $waterText);
// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($srcImg);
// 释放内存
imagedestroy($srcImg);
?>