引言

1. 准备工作

在开始之前,请确保您的服务器已安装GD库,这是PHP处理图像的扩展。大多数PHP安装都默认包含了GD库,如果没有,您可能需要从PECL或源代码编译安装。

2. 使用GD库缩放图片

2.1 载入图片

$sourceImage = imagecreatefromjpeg('path/to/your/image.jpg');

2.2 获取图片尺寸

$width = imagesx($sourceImage);
$height = imagesy($sourceImage);

2.3 计算缩放比例

$scale = 0.5;
$targetWidth = $width * $scale;
$targetHeight = $height * $scale;

2.4 创建新图片

使用imagecreatetruecolor()函数创建一个新的图像。

$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);

2.5 缩放图片

imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, $width, $height);

2.6 输出图片

header('Content-Type: image/jpeg');
imagejpeg($targetImage);

2.7 清理资源

imagedestroy($sourceImage);
imagedestroy($targetImage);

3. 完整示例代码

<?php
// 载入图片
$sourceImage = imagecreatefromjpeg('path/to/your/image.jpg');

// 获取图片尺寸
$width = imagesx($sourceImage);
$height = imagesy($sourceImage);

// 设置缩放比例
$scale = 0.5;
$targetWidth = $width * $scale;
$targetHeight = $height * $scale;

// 创建新图片
$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);

// 缩放图片
imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, $width, $height);

// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($targetImage);

// 清理资源
imagedestroy($sourceImage);
imagedestroy($targetImage);
?>

4. 总结