ngx_http_image_filter_module使用
参考链接:nginx官方文档
安装
ngx_http_image_filter_module一个官方模块,用于转换JPEG、GIF、PNG和WebP格式的图像。
默认情况下,此模块不是启用的,在编译时使用--with-http_image_filter_module
配置参数启用它。
此模块使用libgd
库。建议使用库的最新可用版本,libgd库必须对WebP支持进行编译。
基本使用
Syntax: image_filter off;
image_filter test;
image_filter size;
image_filter rotate 90 | 180 | 270;
image_filter resize width height;
image_filter crop width height;
Default: image_filter off;
Context: location
示例
location /img/ {
proxy_pass http://backend;
image_filter resize 150 100;
image_filter rotate 90;
error_page 415 = /empty;
}
location = /empty {
empty_gif;
}
参数说明
off:
关闭模块;
test:
确保响应为JPEG、GIF、PNG或WebP格式的图像。否则,返回415(Unsupported Media Type)错误。
size:
以JSON格式输出有关图像的信息,例如:
{ "img" : { "width": 100, "height": 100, "type": "gif" } }
如果出现错误,输出如下:
{}
rotate 90|180|270:
按指定的度数逆时针旋转图像。参数值可以包含变量。此模式可以单独使用,也可以与“调整大小”和“裁剪”转换一起使用。
resize width height:
缩小。若要仅减少一个维度,可以将另一个维度指定为“-”。如果出现错误,服务器将返回代码415(Unsupported Media Type)。参数值可以包含变量。当与“旋转”参数一起使用时,旋转发生在还原之后。
crop width height:
裁剪。若要仅减少一个维度,可以将另一个维度指定为“-”。如果出现错误,服务器将返回代码415(Unsupported Media Type)。参数值可以包含变量。与“旋转”参数一起使用时,旋转发生在还原之前。
image_filter_buffer size:
设置用于读取图像的缓冲区的最大大小。超过大小时,服务器返回错误415(Unsupported Media Type)。
image_filter_interlace on | off:
如果启用,最终图像将被隔行扫描。对于JPEG,最终图像将采用“渐进式JPEG”格式。
image_filter_jpeg_quality quality:
设置转换的JPEG图像的所需质量。可接受的值在1到100之间。较小的值通常意味着较低的图像质量和较少的数据传输。建议的最大值为95。参数值可以包含变量。
image_filter_sharpen percent:
增加最终图像的清晰度。锐度百分比可以超过100。零值将禁用锐化。参数值可以包含变量。
image_filter_transparency on|off:
定义在使用调色板指定的颜色转换GIF图像或PNG图像时是否应保留透明度。透明度的丧失会使图像质量更好。PNG中的alpha通道透明度始终保持不变。
image_filter_webp_quality quality:
设置转换的WebP图像的所需质量。可接受的值在1到100之间。较小的值通常意味着较低的图像质量和较少的数据传输。参数值可以包含变量。
ngx_http_image_filter_module使用的更多相关文章
- nginx ngx_http_image_filter_module 简单试用
nginx包含了一个ngx_http_image_filter_module 模块,我们可以方便的进行图片的缩略图,平时一些简单的功能 已经够用了 环境准备 为了简单使用docker-compose ...
- Nginx模块之http.md
ngx_http_access_module ngx_http_access_module模块允许限制对某些客户端地址的访问. 访问也可以通过密码,子请求的结果或JWT来限制. 通过地址和密码的同时访 ...
- centos 7.0 安装nginx 1.9.10
可以参考以前安装成功的案例 centos 7.0 nginx 1.7.9成功安装过程 官网下载 http://nginx.org/en/download.html nginx下载位置 /usr/loc ...
- Nginx编译参数.md
Nginx 介绍 简介 Nginx(发音同engine x)是一个网页服务器,它能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存. ...
- centos 7.0 nginx 1.7.9成功安装过程
centos 7.0根目录 的目录构成 [root@localhost /]# lsbin dev home lib64 mnt proc run srv tmp varboot etc lib me ...
- nginx图片处理
前言 不管一个系统或网站的大与小,都存在相应的图片处理,生成缩略图.为图片加水印等等,如果涉及到APP端,这个图片的处理需求变得更加重要了,因为在目前看来,客户端的屏幕大小不一,会导致以下问题: 1. ...
- Nginx图片剪裁模块探究
http://nginx.org/en/docs/http/ngx_http_image_filter_module.html http://cwtea.blog.51cto.com/4500217/ ...
- Nginx-->基础-->安装-->001:安装总结
root@ubuntu:/data/src/nginx# ./configure --help --help print this message --prefix=PATH set installa ...
- nginx编译模块详解
–prefix= 指向安装目录–sbin-path 指向(执行)程序文件(nginx)–conf-path= 指向配置文件(nginx.conf)–error-log-path= 指向错误日志目录–p ...
随机推荐
- 牛客挑战赛33 C 艾伦的立体机动装置(几何)
思路: 我们需要枚举展开多少条边 然后把上底面的点放到和下底面一个平面 然后算两点之间的距离 注意判断直线与线段是否有交点 #include <bits/stdc++.h> using n ...
- Educational Codeforces Round 21
Educational Codeforces Round 21 A. Lucky Year 个位数直接输出\(1\) 否则,假设\(n\)十进制最高位的值为\(s\),答案就是\(s-(n\mod ...
- Vulkan与DX11交互
Demo演示地址07_wintest 有什么用 在android平台主流是用opengl es,android下vulkan与opengles纹理互通. 而在win平台,主流游戏还用的是DX11,如果 ...
- Zabbix 配置监控 & 触发器
Zabbix 自定义监控 zabbix-agent 获取数据,然后定义,交给 zabbix-server 端 Zabbix 配置监控项 监控的内容 # 监控服务器登录用户的数量 [root@web01 ...
- 新闻类爬虫库:Newspaper
newspaper库是一个主要用来提取新闻内容及分析的Python爬虫框架.此库适合抓取新闻网页.操作简单易学,即使对完全没了解过爬虫的初学者也非常的友好,简单学习就能轻易上手,除此之外,使用过程你不 ...
- 牛客网多校第3场 C-shuffle card 【splay伸展树】
题目链接:戳这里 转自:戳这里 关于splay入门:戳这里 题意:给n个数,进行m次操作,每次都从n个数中取出连续的数放在最前面. 解题思路:splay的区间操作. 附代码: 1 #include&l ...
- HDU 6155 Subsequence Count(矩阵 + DP + 线段树)题解
题意:01串,操作1:把l r区间的0变1,1变0:操作2:求出l r区间的子序列种数 思路:设DP[i][j]为到i为止以j结尾的种数,假设j为0,那么dp[i][0] = dp[i - 1][1] ...
- 深入理解gradle中的task
目录 简介 定义task tasks 集合类 Task 之间的依赖 定义task之间的顺序 给task一些描述 task的条件执行 task rule Finalizer tasks 总结 深入理解g ...
- 事件循环 EventLoop(Promise,setTimeOut,async/await执行顺序)
什么是事件循环?想要了解什么是事件循环就要从js的工作原理开始说起: JS主要的特点就是单线程,所谓单线程就是进程中只有一个线程在运行. 为什么JS是单线程的而不是多线程的呢? JS的主要用途就是与用 ...
- Object Destructuring Assignment vs Object.assign
Object Destructuring Assignment vs Object.assign // const params = Object.assign({}, this.$route.par ...