ngx_http_image_filter_module 图片缩放模块
指令:
image_filter
image_filter_buffer
image_filter_jpeg_quality
image_filter_sharpen
image_filter_transparency
这个模块并不是默认编译的,需要通过 --with-http_image_filter_module编译选项来启用。
这个模块使用了 libgd 库。 推荐使用这个库可用的最新版本;在写这个文档时它的最新版本是2.0.35。
image_filter指令:
语法:
image_filter off; 在所在location关闭模块处理。
image_filter test; 确保应答是JPEG,GIF或PNG格式的图像。否则错误 415 (Unsupported Media Type) 将被返回。
image_filter size; 以JSON格式返回图像信息。
image_filter rotate 90 | 180 | 270; 将图像逆时针旋转指定角度。 参数的值可以包含变量。 可以单独使用,或与 resize 和 crop 变换同时使用.
image_filter resize width height; 按比例缩小图像至指定大小。 如果想只指定其中一维,另一维可以指定为: “-”。 如果有错误发生,服务器会返回 415 (Unsupported Media Type). 参数的值可以包含变量。 当与 rotate 参数同时使用时, 旋转发生在缩放 之后。
image_filter crop width height; 按比例以图像的最短边为准对图像大小进行缩小,然后裁剪另一边多出来的部分。 如果想只指定其中一维,另一维可以指定为: “-”。 如果有错误发生,服务器会返回 415 (Unsupported Media Type). 参数的值可以包含变量。 当与 rotate 参数同时使用时, 旋转发生在裁剪 之前。
image_filter_buffer 指令:
语法: image_filter_buffer size;
image_filter_buffer 1M; 设置用来读图像的缓冲区的最大值。 若图像超过这个大小,服务器会返回 415 (Unsupported Media Type).
image_filter_jpeg_quality 指令:
语法: image_filter_jpeg_quality quality;
image_filter_jpeg_quality 75; 设置变换后的JPEG图像的 质量 。 可配置值: 1 ~ 100 。 更小的值意味着更差的图像质量以及更少需要传输的数据。 推荐的最大值是95. 参数的值可以包含变量。
image_filter_sharpen 指令:
语法: image_filter_sharpen percent;
image_filter_sharpen 0; 增加最终图像的锐度。 锐度百分比可以超过100. 0为关闭锐化。 参数的值可以包含变量。
image_filter_transparency 指令:
语法: image_filter_transparency on|off;
image_filter_transparency on;定义当对PNG,或者GIF图像进行颜色变换时是否需要保留透明度。 损失透明度有可能可以获得更高的图像质量。 PNG图像中的alpha通道的透明度默认会一直被保留。
例子:
location ~* ^/imagesresize/([\d\-]+)_([\d\-]+)/(.+) {
alias /data/www/$3;
image_filter test;
image_filter resize $1 $2;
image_filter_buffer 2M;
image_filter_jpeg_quality 95;
image_filter_sharpen 90;
expires 60d;
}
浙公网安备 33010602011771号