FAQ

Page Discussion Edit History

HttpImageFilterModule

Contents

Synopsis

Version: 0.7.54+

This module is a filter for transforming JPEG, GIF and PNG images. It is not enabled by default to enable it, provide this option to ./configure when building nginx:

--with-http_image_filter_module 

libgd is required to build and run the module. We recommend using the latest version of libgd.


Example Configuration

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

Directives

image_filter

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:
Context: location
Reference:image_filter


Specifies the type of transformation to apply to the image, one of the below:

  • test: checking that the response is indeed an image format JPEG, GIF or PNG. Otherwise, an error 415.
  • size: Gives information about the image in JSON format. For example,
{ "img" : { "width": 100, "height": 100, "type": "gif" } }

Or if an error occurs,

{}
  • resize: proportionally reduces the image to a specified size.
  • crop: proportionally reduces the image to a specified size and trims extra edge.

image_filter_buffer

Syntax: image_filter_buffer size
Default: 1M
Context: http
server
location
Reference:image_filter_buffer


Sets the maximum size for reading the image.

image_filter_jpeg_quality

Syntax: image_filter_jpeg_quality quality
Default: 75
Context: http
server
location
Reference:image_filter_jpeg_quality


Sets the rate of loss of information when processing the images as JPEG. The maximum recommended value is 95.

image_filter_sharpen

Syntax: image_filter_sharpen percent
Default: 0
Context: http
server
location
Reference:image_filter_sharpen


image_filter_transparency

Syntax: image_filter_transparency on | off
Default: on
Context: http
server
location
Reference:image_filter_transparency


This directive allows you to disable image transparency in GIF and palette-based PNG to improve image resampling quality.

True color PNG alpha-channels are always preserved despite this setting.

Note: Grayscale PNG's are untested, but should be handled as truecolor PNGs.

References

Original Documentation