引言
准备工作
在开始之前,请确保您的PHP环境中已经安装并启用了GD库。您可以通过以下命令检查GD库是否安装:
php -m | grep -i gd
如果GD库未安装,请按照相应的系统说明进行安装。
创建图片资源
// 创建一个指定大小的真彩色图像资源
$image = imagecreatetruecolor($width, $height);
// 从文件创建图片资源
$image = imagecreatefromjpeg($imagePath);
$image = imagecreatefrompng($imagePath);
$image = imagecreatefromgif($imagePath);
图片缩放
// 计算缩放后的尺寸
$newWidth = $width * $scale;
$newHeight = $height * $scale;
// 创建一个新图像资源
$newImage = imagecreatetruecolor($newWidth, $newHeight);
// 缩放图片
imagecopyresampled($newImage, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
// 释放原始图像资源
imagedestroy($image);
// 使用新的图像资源
$image = $newImage;
保存和输出图片
// 保存图片
imagejpeg($image, $savePath);
// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($image);
注意事项
使用imagecopyresampled函数时,请尽量减少缩放比例,以避免模糊现象。
实例总结
<?php
// 获取上传文件的路径
$imagePath = $_FILES['image']['tmp_name'];
// 指定缩放后的尺寸
$width = 100;
$height = 100;
// 创建一个新图像资源
$image = imagecreatefromjpeg($imagePath);
// 缩放图片
$newImage = imagecreatetruecolor($width, $height);
imagecopyresampled($newImage, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image));
// 保存图片
imagejpeg($newImage, 'uploads/scaled_image.jpg');
// 释放图像资源
imagedestroy($image);
imagedestroy($newImage);
?>