引言

前提条件

在开始之前,请确保你的PHP环境中已经安装了GD库。你可以通过以下PHP脚本检查GD库是否可用:

<?php
if (extension_loaded('gd')) {
    echo "GD库已安装";
} else {
    echo "GD库未安装";
}
?>

如果GD库未安装,你需要根据操作系统的不同,通过相应的包管理工具进行安装。

准备工作

  1. 原始图片和水印图片:你需要两张图片,一张是要添加水印的原始图片,另一张是水印图片(通常是一个小的PNG或GIF格式的图像,带有透明背景)。
  2. PHP脚本:准备一个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);

// 获取水印图片的尺寸
$watermarkWidth = imagesx($watermarkImage);
$watermarkHeight = imagesy($watermarkImage);

// 获取原始图片的尺寸
$sourceWidth = imagesx($sourceImage);
$sourceHeight = imagesy($sourceImage);

// 计算水印图片的放置位置
$positionX = $sourceWidth - $watermarkWidth - 10; // 在右下角10像素处
$positionY = $sourceHeight - $watermarkHeight - 10;

// 将水印图片复制到原始图片上
imagecopy($sourceImage, $watermarkImage, $positionX, $positionY, 0, 0, $watermarkWidth, $watermarkHeight);

// 输出带有水印的图片
imagejpeg($sourceImage, $outputImagePath);

// 释放GD资源
imagedestroy($sourceImage);
imagedestroy($watermarkImage);
?>

总结