引言
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);
?>