Thinkphp图像处理think-image、压缩、剪切

thinkphp5.0通过thinkphp-image实现对上传图片的压缩、剪切、翻转等操作!

本文主要讲解thumb方法来是先图片的压缩、生成缩略图!

官网操作代码:

$image = \think\Image::open('./image.png');
// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
$image->thumb(150, 150)->save('./thumb.png');

thinkphp一个完整的方法案例!

public function uploadImg()
{
if(request()->isAjax()){

$file = request()->file('file');
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . 'public' . DS . 'upload');
if($info){
$src = '/upload' . '/' . date('Ymd') . '/' . $info->getFilename();
$image = \think\Image::open(ROOT_PATH . 'public' .$src);
$image->thumb(358, 210,6)->save(ROOT_PATH . 'public' .$src);//强制按照固定尺寸压缩
return json(msg(0, ['src' => $src], ''));
}else{
// 上传失败获取错误信息
return json(msg(-1, '', $file->getError()));
}
}
}

thumb参数解析:

thunmb(宽度,高度,缩放后填充类型)

缩放填充类型一共有6类分别为:

//常量,标识缩略图等比例缩放类型
const THUMB_SCALING = 1;
//常量,标识缩略图缩放后填充类型
const THUMB_FILLED = 2;
//常量,标识缩略图居中裁剪类型
const THUMB_CENTER = 3;
//常量,标识缩略图左上角裁剪类型
const THUMB_NORTHWEST = 4;
//常量,标识缩略图右下角裁剪类型
const THUMB_SOUTHEAST = 5;
//常量,标识缩略图固定尺寸缩放类型
const THUMB_FIXED = 6;

注:$image = \think\Image::open('该路径需要设置成绝对路径');

thinkphp-image存放位置如图:


关于缩放及对图片更多的参数解释,大家去官网查看《图像处理Thinkphp

六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!