一、选择合适的图片处理库
- GD库:PHP自带的一个图像处理库,功能较为基础,但易于使用。
- Imagick库:基于ImageMagick的PHP扩展,功能强大,支持多种图像格式。
- ImageMagick库:一个强大的图像处理软件,可以通过PHP扩展与PHP结合使用。
本文将以GD库为例进行讲解,因为它是最常见且易于使用的库。
二、准备图片
<?php
// 图片路径
$imagePath = 'path/to/your/image.jpg';
// 创建图像资源
$image = imagecreatefromjpeg($imagePath);
?>
三、获取图片尺寸
<?php
// 获取图片宽度
$width = imagesx($image);
// 获取图片高度
$height = imagesy($image);
?>
四、计算缩放比例
<?php
// 目标宽度
$targetWidth = 300;
// 目标高度
$targetHeight = 200;
// 计算缩放比例
$ratioWidth = $targetWidth / $width;
$ratioHeight = $targetHeight / $height;
$ratio = min($ratioWidth, $ratioHeight);
?>
五、创建缩放后的图片
<?php
// 创建新的图像资源
$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);
// 将原始图片绘制到新图像上
imagecopyresampled($targetImage, $image, 0, 0, 0, 0, $targetWidth, $targetHeight, $width, $height);
?>
六、保存或输出图片
<?php
// 图片保存路径
$savePath = 'path/to/save/zoomed_image.jpg';
// 保存图片
imagejpeg($targetImage, $savePath);
// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($targetImage);
?>