一、准备环境
- GD库:用于处理图片,是PHP处理图片的核心库。
- ImageMagick:如果您的服务器支持,ImageMagick扩展可以提供更强大的图片处理功能。
您可以通过以下命令检查是否已安装这些扩展:
phpinfo();
在phpinfo()输出中找到相关扩展模块,确认它们已经启用。
二、选择合适的图片格式
- JPEG:适用于照片,支持有损压缩。
- PNG:适用于图形和图标,支持无损压缩。
- GIF:适用于动画和简单的图形,支持透明背景。
三、使用GD库调整图片大小
<?php
// 载入原图
$image = imagecreatefromjpeg('path/to/your/image.jpg');
// 获取原图尺寸
$originalWidth = imagesx($image);
$originalHeight = imagesy($image);
// 设置目标宽度
$targetWidth = 800;
// 计算目标高度,保持图片宽高比
$targetHeight = ($originalHeight * $targetWidth) / $originalWidth;
// 创建新的图片资源
$newImage = imagecreatetruecolor($targetWidth, $targetHeight);
// 复制原图内容到新图片
imagecopyresampled($newImage, $image, 0, 0, 0, 0, $targetWidth, $targetHeight, $originalWidth, $originalHeight);
// 输出新图片
header('Content-Type: image/jpeg');
imagejpeg($newImage);
// 释放资源
imagedestroy($image);
imagedestroy($newImage);
?>
四、使用ImageMagick扩展调整图片大小
<?php
// 载入原图
$image = new Imagick('path/to/your/image.jpg');
// 设置目标宽度
$image->resizeImage(800, 0, Imagick::FILTER_LANCZOS, 1);
// 输出新图片
header('Content-Type: image/jpeg');
echo $image->getImageBlob();
// 释放资源
$image->clear();
$image->destroy();
?>