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之间。较小的值通常意味着较低的图像质量和较少的数据传输。参数值可以包含变量。
posted @ 2021-01-22 14:56  ioops  阅读(362)  评论(0编辑  收藏  举报