一、环境搭建

在开始之前,请确保您的PHP环境中已安装GD库或Imagick扩展。GD库是PHP处理图像的基础,而Imagick扩展则提供了更高级的图像处理功能。

1. 安装GD库

在Linux系统中,您可以通过以下命令安装GD库:

sudo apt-get install php-gd  # Ubuntu/Debian
sudo yum install php-gd       # CentOS/RHEL

2. 安装Imagick扩展

如果您想使用Imagick扩展,请按照以下步骤进行安装:

# 下载Imagick扩展源码
wget http://pecl.php.net/get/imagick-3.4.4.tgz

# 解压源码
tar -xvzf imagick-3.4.4.tgz

# 进入源码目录
cd imagick-3.4.4

# 配置安装
./configure --with-php-config=/usr/bin/php-config

# 编译安装
make
sudo make install

二、基本操作

1. 加载图片

// 使用GD库加载JPEG图片
$image = imagecreatefromjpeg('example.jpg');
// 使用Imagick扩展加载JPEG图片
$image = new Imagick('example.jpg');

2. 调整图片大小

// 使用GD库调整图片大小
$width = 500;
$height = 300;
$resize = imagecreatetruecolor($width, $height);
imagecopyresampled($resize, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image));
// 使用Imagick扩展调整图片大小
$image->resizeImage(500, 300, Imagick::FILTER_LANCZOS, 1);

3. 图片格式转换

// 使用GD库转换图片格式
$image = imagecreatefromjpeg('example.jpg');
imagejpeg($image, 'exampleConverted.jpg');
// 使用Imagick扩展转换图片格式
$image->setImageFormat('jpg');
$image->writeImage('exampleConverted.jpg');

三、高级操作

1. 图片添加水印

使用GD库或Imagick扩展添加水印,以下是使用GD库添加水印的示例:

// 使用GD库添加水印
$watermark = imagecreatefrompng('watermark.png');
imagecopy($image, $watermark, 10, 10, 0, 0, imagesx($watermark), imagesy($watermark));

使用Imagick扩展添加水印:

// 使用Imagick扩展添加水印
$image->compositeImage($watermark, Imagick::COMPOSITE_OVER, 10, 10);

2. 图片添加文字

使用GD库或Imagick扩展添加文字,以下是使用GD库添加文字的示例:

// 使用GD库添加文字
$fontFile = 'path/to/font.ttf';
$fontSize = 20;
$color = imagecolorallocate($image, 255, 255, 255);
imagettftext($image, $fontSize, 0, 10, 30, $color, $fontFile, 'Hello, World!');

使用Imagick扩展添加文字:

// 使用Imagick扩展添加文字
$fontFile = 'path/to/font.ttf';
$fontSize = 20;
$color = new ImagickPixel('white');
$image->annotateImage($fontFile, 10, 30, 0, 'Hello, World!', $color);

四、总结