如何在ThinkPHP项目中添加图像大小动态裁剪功能

    ThinkPHP图像动态裁剪和缩放库

 

    Glide是一个图像处理库,可以帮助您根据指定的参数向浏览器动态生成图像内容,从而实现

    图像动态裁剪,水印等。该库支持Glide进行了一些友好的打包和扩展,屏蔽了原生库的某些低层抽象,以便ThinkPHP用户可以在ThinkPHP项目中添加图片的动态裁剪功能。


    Installation

    执行下面命令安装:

执行下面命令安装.png

    Usage

    Quick start

    由于从 ThinkPHP 5.1.6 开始添加了中间件的功能,所以在


    ThinkPHP 5.1.6 及以上版本使用 middleware 注册:


    打开 application/middleware.php 文件(如果不存在创建即可),注册 middleware:

2.png

    这种方式比较简单,也是推荐的方式;


    ThinkPHP 5.1.0 以上 5.1.6 以下版本:


    不支持middleware,所以启用过程要复杂一点,我们用下面方式来妥协:

3.png

    source 是你本地图片文件夹的位置,假设该目录下有图片 user.jpg, 打开浏览器访问下面链接:

4.png

    即可得到缩小后的图片。


    参数说明

5.png

    安全签名

    不开启安全签名的情况下用户可以调整query里面的参数自行对图片进行裁剪,如果你不打算这么做的话,你可以通过

    signKey 进行校验,

6.png

    这种情况下用户自行调整参数将会无效;生成安全的URL:

7.png

    异常处理

    如果用户访问了一张不存在的图片或者没有进行安全校验,系统会抛出异常,你可以通过 onException 进行替换默认行为:

8.png

    注意,闭包必须返回一个think \ Response实例。  

 

    快速参考

    不仅支持裁剪,而且glide还支持其他操作,只要您传递相应的参数,

对我有帮助
39人认为有帮助

相关帮助