1. PHP环境准备

在开始之前,请确保你的PHP环境中已经安装了ImageMagick或GD库。以下是两种常见操作系统的安装方法:

1.1 在Linux系统中安装

对于Ubuntu/Debian系统,可以使用以下命令安装:

sudo apt-get install imagemagick

对于CentOS/RHEL系统,可以使用以下命令安装:

sudo yum install ImageMagick

1.2 在Windows系统中安装

对于Windows系统,可以从ImageMagick官网下载安装包进行安装。

2. PHP扩展配置

如果你选择使用ImageMagick,需要安装Imagick扩展。以下是在PHP中安装Imagick扩展的步骤:

2.1 编译PHP时添加Imagick扩展

在编译PHP时,添加以下选项:

./configure --with-imagick

然后执行以下命令进行安装:

make
sudo make install

2.2 在php.ini中启用Imagick扩展

找到php.ini文件,并取消以下行前的分号:

extension=imagick.so

重启Apache或Nginx服务以使配置生效。

3. PHP代码实现

<?php
// 源图片路径
$sourceImage = 'source.jpg';
// 水印图片路径
$watermarkImage = 'watermark.png';
// 输出图片路径
$outputImage = 'output.jpg';

// 使用ImageMagick创建水印
$image = new Imagick($sourceImage);
$watermark = new Imagick($watermarkImage);
$watermark->resizeImage(100, 100, Imagick::FILTER_LANCZOS, 1);

// 设置水印位置
$x = ($image->getImageWidth() - $watermark->getImageWidth()) / 2;
$y = ($image->getImageHeight() - $watermark->getImageHeight()) / 2;

// 将水印添加到源图片
$image->compositeImage($watermark, Imagick::COMPOSITE_OVER, $x, $y);

// 输出图片
$image->writeImage($outputImage);
$image->clear();
$image->destroy();
?>

4. 总结