在 PHP 中生成缩略图可以使用 GD 库或者 Imagick 扩展来实现。下面是一个使用 GD 库的示例代码:
<?php
// 原始图片路径
$originalImage = 'path/to/original_image.jpg';
// 创建一个新的图片资源,并从原始图片加载图像信息
$image = imagecreatefromjpeg($originalImage);
// 获取原始图片的宽度和高度
$originalWidth = imagesx($image);
$originalHeight = imagesy($image);
// 缩略图的宽度和高度(这里假设缩略图宽度为200,高度按比例自适应)
$thumbnailWidth = 200;
$thumbnailHeight = floor($originalHeight * ($thumbnailWidth / $originalWidth));
// 创建一个新的空白画布作为缩略图容器
$thumbnailImage = imagecreatetruecolor($thumbnailWidth, $thumbnailHeight);
// 将原始图片复制到缩略图容器,并进行缩放操作
imagecopyresampled(
$thumbnailImage, // 目标画布资源
$image, // 源画布资源
0, 0, // 目标画布上复制的起始坐标点
0, 0, // 源画布上复制的起始坐标点
$thumbnailWidth, $thumbnailHeight, // 目标画布上复制的尺寸大小
$originalWidth, $originalHeight // 源画布上复制的尺寸大小
);
// 输出缩略图到浏览器或保存到文件
header('Content-Type: image/jpeg');
imagejpeg($thumbnailImage, 'path/to/thumbnail.jpg');
// 释放资源
imagedestroy($image);
imagedestroy($thumbnailImage);
?>
这段代码将从原始图片中生成一个宽度为200的缩略图,并保存到指定路径。你可以根据实际需求修改参数和路径。请确保服务器上安装了 GD 库扩展,并在代码中引入正确的原始图片路径和缩略图保存路径。
内容由零声教学AI助手提供,问题来源于学员提问