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();
?>