Nginx系列:图片过滤处理( 二 )


  • image_filter_sharpen
【Nginx系列:图片过滤处理】语法:    image_filter_sharpen percent;默认值:    image_filter_sharpen 0;上下文:    http, server, location增加最终图像的锐度 。锐度百分比可以超过100. 0为关闭锐化 。参数的值可以包含变量 。
  • image_filter_transparency
语法:    image_filter_transparency on|off;默认值:    image_filter_transparency on;上下文:    http, server, location定义当对PNG,或者GIF图像进行颜色变换时是否需要保留透明度 。损失透明度有可能可以获得更高的图像质量 。PNG图像中的alpha通道的透明度默认会一直被保留 。
image_filter off;  #关闭模块  image_filter test;  #确保图片是jpeg gif png否则返415错误  image_filter size;  #输出有关图像的json格式:如下显示{ "img" : { "width": 100, "height": 100, "type": "gif" } } 出错显示:{}  image_filter rotate 90|180|270;  #旋转指定度数的图像,参数可以包括变量,单独或一起与resize crop一起使用 。  image_filter resize width height;  #按比例减少图像到指定大小,如果减少一个可以另一个用"-"来表示,出错415,参数值可包含变量,可以与rotate一起使用,则两个一起生效 。  image_filter crop width height;  #按比例减少图像比较大的侧面积和另一侧多余的裁剪边缘,其它和rotate一样 。没太理解  image_filter_buffer 10M;  #设置读取图像缓冲的最大大小,超过则415错误 。  image_filter_interlace on;  #如果启用,最终的图像将被交错 。对于JPEG,最终的图像将在“渐进式JPEG”格式 。  image_filter_jpeg_quality 95;  #设置变换的JPEG图像的期望质量 。可接受的值是从1到100的范围内 。较小的值通常意味着既降低图像质量,减少传输数据,推荐的最大值为95 。参数值可以包含变量 。  image_filter_sharpen 100;  #增加了最终图像的清晰度 。锐度百分比可以超过100 。零值将禁用锐化 。参数值可以包含变量 。  image_filter_transparency on;  #定义是否应该透明转换的GIF图像或PNG图像与调色板中指定的颜色时,可以保留 。透明度的损失将导致更好的图像质量 。在PNG的Alpha通道总是保留透明度 。 
0x03:实战http_image_filter_module
在Nginx配置文件nginx.conf添加如下配置
  location ~* .(jpg|gif|png)$ {            image_filter test;            root html;            # 图片默认宽度            set $width -;              # 图片默认高度            set $height -;              if ($arg_width != "") {                set $width $arg_width;            }            if ($arg_height != "") {               set $height $arg_height;            }            # 设置图片宽高            image_filter resize $width $height;              # 设置nginx读取图片最大buffer            image_filter_buffer 10M;              # 是否开启图片隔行扫描                        image_filter_interlace on;               error_page 404 = 400.html;       }


推荐阅读