<?php
namespace app\index\controller;
use think\Image;
class ImageController
{
public function resizeImage($sourceFile, $targetFile = '', $width = 150, $height = 200)
{
$image = Image::open($sourceFile);
// 按照原图的比例缩放,满足宽度不超过150px且高度不超过200px的要求
$image->thumb($width, $height)->save($targetFile);
return $targetFile;
}
}
// 使用示例
$sourceFile = 'path/to/your/source/image.jpg';
$imageController = new ImageController();
$targetFile = $imageController->resizeImage($sourceFile, 'path/to/your/target/image.jpg');
echo "图片 {$sourceFile} 已被重新缩放并保存为 {$targetFile}";
这段代码定义了一个名为ImageController
的控制器类,其中包含一个名为resizeImage
的方法,用于调整图片大小。它使用了think\Image
类来打开一个图片文件,并且按照指定的宽度和高度创建一个缩略图,然后将其保存到目标路径。使用时需要传递源文件路径和目标文件路径(可选),以及想要的新尺寸。