Nginx image filter模块来裁剪过大的图片

发布: 2015-09-13 |  作者:  |   来源:

上一篇 下一篇


Nginx image filter模块是Nginx0.7.54出现的模块--用来裁剪过大
的图片,其配置例子如下:

location /img/
         proxy_pass 
http://backend
         image_filter resize 150 100; 
         error_page 415 = /empty; 


     location = /empty { 
         empty_gif; 
}

模块主要有两个指令
语法: image_filter (test | size | resize width height | crop width height)
默认是: 无
可出现的上下文: location

该指令指定图像的转化形式:

    test - 测试回复是否是JPEG、GIF、或PNG图片(不支持BMP等其他格式),出错时返回415。
    size - 返回图片的JSON数据,比如:( "Img": ( "width": 100, "height": 100, "type": "gif")) 
    resize - 根据设置按比例得减小图像,比如100*100的图片,而设置是50*25,减小后的图片为25*25。如果你只想设置一个维度,可以用“-”代替。出错时返回415。
    crop - 根据设置按比例得减小图像,然后裁剪成跟设置一样大小的图片。比如100*100的图片,而设置是50*25,减小后的图片为50*50,Nginx会选取中间高度25的像素,形成50*25的图片,所以图片会有缺失。如果你只想设置一个维度,可以用“-”代替。出错时返回415。

语法: image_filter_buffer size
默认值: image_filter_buffer 1M
可出现的位置: http, server, location

该指令设置单图片缓存的最大值,如果过滤的图片大小超过缓存大小,会报错。


TAG: a nginx image_filter
上一篇 下一篇