参考链接: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使用的更多相关文章

  1. nginx ngx_http_image_filter_module 简单试用

    nginx包含了一个ngx_http_image_filter_module 模块,我们可以方便的进行图片的缩略图,平时一些简单的功能 已经够用了 环境准备 为了简单使用docker-compose ...

  2. Nginx模块之http.md

    ngx_http_access_module ngx_http_access_module模块允许限制对某些客户端地址的访问. 访问也可以通过密码,子请求的结果或JWT来限制. 通过地址和密码的同时访 ...

  3. centos 7.0 安装nginx 1.9.10

    可以参考以前安装成功的案例 centos 7.0 nginx 1.7.9成功安装过程 官网下载 http://nginx.org/en/download.html nginx下载位置 /usr/loc ...

  4. Nginx编译参数.md

    Nginx 介绍 简介 Nginx(发音同engine x)是一个网页服务器,它能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存. ...

  5. 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 ...

  6. nginx图片处理

    前言 不管一个系统或网站的大与小,都存在相应的图片处理,生成缩略图.为图片加水印等等,如果涉及到APP端,这个图片的处理需求变得更加重要了,因为在目前看来,客户端的屏幕大小不一,会导致以下问题: 1. ...

  7. Nginx图片剪裁模块探究

    http://nginx.org/en/docs/http/ngx_http_image_filter_module.html http://cwtea.blog.51cto.com/4500217/ ...

  8. Nginx-->基础-->安装-->001:安装总结

    root@ubuntu:/data/src/nginx# ./configure --help --help print this message --prefix=PATH set installa ...

  9. nginx编译模块详解

    –prefix= 指向安装目录–sbin-path 指向(执行)程序文件(nginx)–conf-path= 指向配置文件(nginx.conf)–error-log-path= 指向错误日志目录–p ...

随机推荐

  1. 牛客挑战赛33 C 艾伦的立体机动装置(几何)

    思路: 我们需要枚举展开多少条边 然后把上底面的点放到和下底面一个平面 然后算两点之间的距离 注意判断直线与线段是否有交点 #include <bits/stdc++.h> using n ...

  2. Educational Codeforces Round 21

    Educational Codeforces Round 21  A. Lucky Year 个位数直接输出\(1\) 否则,假设\(n\)十进制最高位的值为\(s\),答案就是\(s-(n\mod ...

  3. Vulkan与DX11交互

    Demo演示地址07_wintest 有什么用 在android平台主流是用opengl es,android下vulkan与opengles纹理互通. 而在win平台,主流游戏还用的是DX11,如果 ...

  4. Zabbix 配置监控 & 触发器

    Zabbix 自定义监控 zabbix-agent 获取数据,然后定义,交给 zabbix-server 端 Zabbix 配置监控项 监控的内容 # 监控服务器登录用户的数量 [root@web01 ...

  5. 新闻类爬虫库:Newspaper

    newspaper库是一个主要用来提取新闻内容及分析的Python爬虫框架.此库适合抓取新闻网页.操作简单易学,即使对完全没了解过爬虫的初学者也非常的友好,简单学习就能轻易上手,除此之外,使用过程你不 ...

  6. 牛客网多校第3场 C-shuffle card 【splay伸展树】

    题目链接:戳这里 转自:戳这里 关于splay入门:戳这里 题意:给n个数,进行m次操作,每次都从n个数中取出连续的数放在最前面. 解题思路:splay的区间操作. 附代码: 1 #include&l ...

  7. 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] ...

  8. 深入理解gradle中的task

    目录 简介 定义task tasks 集合类 Task 之间的依赖 定义task之间的顺序 给task一些描述 task的条件执行 task rule Finalizer tasks 总结 深入理解g ...

  9. 事件循环 EventLoop(Promise,setTimeOut,async/await执行顺序)

    什么是事件循环?想要了解什么是事件循环就要从js的工作原理开始说起: JS主要的特点就是单线程,所谓单线程就是进程中只有一个线程在运行. 为什么JS是单线程的而不是多线程的呢? JS的主要用途就是与用 ...

  10. Object Destructuring Assignment vs Object.assign

    Object Destructuring Assignment vs Object.assign // const params = Object.assign({}, this.$route.par ...