1. PHP图像处理简介

2. 使用GD库处理JPEG图片

2.1 安装GD库

确保你的PHP环境已经安装了GD库。在Linux系统中,可以使用以下命令安装GD库:

sudo apt-get install php-gd

在Windows系统中,可以从PHP官网下载PHP安装包,并确保GD库已启用。

2.2 打开JPEG图片

<?php
$image = imagecreatefromjpeg('path/to/image.jpg');
?>

2.3 调整图片大小

<?php
$width = 500;
$height = 300;
$newImage = imagecreatetruecolor($width, $height);
imagecopyresampled($newImage, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image));
?>

2.4 裁剪图片

<?php
$sourceX = 100;
$sourceY = 100;
$destX = 0;
$destY = 0;
$sourceWidth = 200;
$sourceHeight = 200;
imagecopy($newImage, $image, $destX, $destY, $sourceX, $sourceY, $sourceWidth, $sourceHeight);
?>

2.5 旋转图片

<?php
$angle = 90;
$background = imagecolorallocate($newImage, 255, 255, 255);
$image = imagerotate($newImage, $angle, $background);
?>

2.6 添加水印

使用imagecopymerge()函数添加水印:

<?php
$watermark = imagecreatefrompng('path/to/watermark.png');
$watermarkWidth = imagesx($watermark);
$watermarkHeight = imagesy($watermark);
imagecopymerge($image, $watermark, imagesx($image) - $watermarkWidth, imagesy($image) - $watermarkHeight, 0, 0, $watermarkWidth, $watermarkHeight, 50);
?>

2.7 调整亮度和对比度

使用imagefilter()函数调整亮度和对比度:

<?php
$brightness = 50;
$contrast = 50;
imagefilter($image, IMG_FILTER_BRIGHTNESS, $brightness);
imagefilter($image, IMG_FILTER_CONTRAST, $contrast);
?>

2.8 保存图片

<?php
imagejpeg($image, 'path/to/output.jpg');
?>

3. 使用Imagick扩展处理JPEG图片

3.1 安装Imagick扩展

确保你的PHP环境已经安装了Imagick扩展。在Linux系统中,可以使用以下命令安装Imagick扩展:

sudo apt-get install php-imagick

在Windows系统中,可以从PHP官网下载PHP安装包,并确保Imagick扩展已启用。

3.2 使用Imagick处理JPEG图片

<?php
$image = new Imagick('path/to/image.jpg');
$image->resizeImage(500, 300, Imagick::FILTER_LANCZOS, 1);
$image->cropImage(200, 200, 100, 100);
$image->rotateImage(new ImagickPixel('white'), 90);
$watermark = new Imagick('path/to/watermark.png');
$watermark->compositeImage($image, Imagick::COMPOSITE_OVER, 0, 0);
$image->writeImage('path/to/output.jpg');
?>

4. 图片优化

  • 压缩图片:使用imagejpeg()函数的quality参数或Imagick::writeImage()函数的imageCompressionQuality参数来压缩JPEG图片。
  • 转换图片格式:将JPEG图片转换为PNG或WebP格式,通常可以减少文件大小。
  • 使用图片处理工具:如ImageMagick、Optimizilla等,对图片进行进一步优化。

5. 总结