当前位置:首页 > 后端 > 正文内容

PHP将图片自动缩放成指定大小:autoCropImage,含nginx伪静态

Z先生5年前 (2020-08-24)后端847

autoCropImage自己一直在用,并且加入了webp格式转换

具体说明和介绍如下:

autoCropImage - 图片自动缩放程序

将图片自动缩放成指定大小,减少图片体积,从而加快下载速度,降低下载时间和成本。

使用说明

URI 模式

  • http://localhost/images/pic.jpg_50x100.jpg

  • http://localhost/images/pic.jpg_50x100m2.jpg

  • http://localhost/images/pic.jpg_50x100v2014.jpg

  • http://localhost/images/pic.jpg_50x100m2v2014.jpg

QUERY 模式

  • http://localhost/images/pic.jpg?50x100

  • http://localhost/images/pic.jpg?50x100m2

  • http://localhost/images/pic.jpg?50x100v2014

  • http://localhost/images/pic.jpg?50x100m2v2014

使用说明

  • 方式一:50x100 缩放成 50x100 大小

  • 方式二:50x100m2 方式一并且使用mode 2

  • 方式三:50x100v2014 方式一并且指定缓存版本2014

  • 方式四:50x100m2v2014 方式一,使用mode 2并且指定缓存版本2014

缩放模式说明

  • mode 1 : 强制裁剪,生成图片严格按照需要,不足放大,超过裁剪,图片始终铺满。

  • mode 2 : 和1类似,但不足的时候 不放大 会产生补白,可以用png消除。

  • mode 3 : 只缩放,不裁剪,保留全部图片信息,会产生补白。

  • mode 4 : 只缩放,不裁剪,保留全部图片信息,此时的参数只是限制了生成的图片的最大宽高,不产生补白。

  • mode 5 : 生成的图比例严格按照需要的比例,宽和高不超过给定的参数。

官网:https://github.com/mingfunwong/autoCropImage


nignx版伪静态:

# 下划线模式
location / {
    rewrite ^/.*(?:gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG)(?:_)([0-9]+)x([0-9]+)(?:m([1-5]))?(?:v([A-Za-z0-9_]*))?(?:.)?(?:gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG)?$ /cropImage/autoCropImage.php last;
}
# ?模式
location ~* \.(?:jpg|gif|png|jpeg|webp)$ {
    rewrite ^.*$ /cropImage/autoCropImage.php last; 
}


webp压缩版:cropImage.zip


分享给朋友:

相关文章

php json_decode转换为null的问题解决

在做某一程序的时候,前台组装的json数组,为了能传到后台,使用JSON.stringify将其转换成字符串后后端接收。但是接收后,死活转换不了数组,使用json_last_error()输出错误后,...

php array_column函数封装

array_column函数只支持php5.5.0以上版本,所以这里要封装下,这样可以兼容用法if (!function_exists("array_column"))&...

困扰了很久的PHP跨域问题

其实这个问题一直是不存在的,只是自己因为各种配置吧,导致了这个问题一直没有解决。现在就解决思路提供如下: 需要两步操作一、修改Nignx配置文件一般在宝塔面板伪静态中设置示例代码: locatio...

thinkphp6模型中联合主键、中间表调用的写法

前言Thinkphp框架是不错,但是一些特殊用法几乎找不到文档。模型就新手来说感觉会很麻烦,但是实际上习惯之后会很方便,比如入库和出库的自动格式化,再比如安全的入库。而且模型会让你养成良好的开发习惯,...

ThinkPHP6多应用下配置短路由 - TP6路由

ThinkPHP6多应用下配置短路由 - TP6路由

需要实现的效果:http://xx.com/u/RkdJ80 => http://xx.com/home/url/url/index实现步骤1. 设置tp6隐藏网址的index...

thinkphp6批量软删除

关于thinkphp软删除的理解软删除核心逻辑数据库设置软删除字段,并将类型定义为int(10)软删除核心代码    // 自动时间戳类型未int...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。
请先 登录 再评论,若不是会员请先 注册