我试用了Nginx图像滤镜模块[1]来调整图像大小。
我的nginx网站配置是:
location ~ /resize/([\d-]+)x([\d-]+)/(.*) {
proxy_pass http://$server_addr/images/$3;
image_filter resize $1 $2;
image_filter_jpeg_quality 80;
image_filter_buffer 10M;
}
工作正常。
如果我请求www.example.com/resize/100x100/tree.jpg
,则Nginx从/images/tree.jpg
获取图像并将其大小调整为宽度100和高度100(如果tree.jpg源图像为方形格式)
如果我的源图像是尺寸为400x200的矩形,则调整大小的图像的尺寸为100x50。是否可以使用Nginx图像滤镜模块将100x100方形图像作为输出而不裁剪某些边框,而是填充白色背景或透明的空白空间? 在400x200示例中,宽度为100px,高度为50px,25px应在顶部和底部填充透明或白色背景。
由于
[1] ngx_http_image_filter_module http://nginx.org/en/docs/http/ngx_http_image_filter_module.html#image_filter