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

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

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

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


分享给朋友:

相关文章

关于微信表情(emoji表情)入Mysql的解决方案(PHP版)

emoji是4个字节存储,而utf8_general_ci最大支持3字节,解决方案有两个:1、mysql库的由utf8改成utf8mb4;2、使用出入库编码转换,比如:base64编码、urlenco...

PHP年龄计算

通过出生日期,再传入指定日期计算年龄,不传入则计算到今天的时间。        /**  * 计...

php json_decode转换为null的问题解决

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

【转】rtsp视频流实现浏览器h5播放

【转】rtsp视频流实现浏览器h5播放

方案思路:获取摄像头数据流 --> FFmpeg转码 --> Node.js(搭建webSocket服务器) --> 在服务器上运行jsmpeg程序操作步骤首先查看是否能够正常地获取...

【转】Swoole和Workerman到底选谁?

【转】Swoole和Workerman到底选谁?

Swoole:面向生产环境的 PHP 异步网络通信引擎       使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTT...

php array_column函数封装

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

发表评论

访客

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