Filtro de Imagen#

El módulo es un filtro que transforma imágenes en formatos JPEG, GIF, PNG y WebP.

Al compilar desde el código fuente, este módulo no se compila por defecto; debe habilitarse con la opción de compilación ‑‑with‑http_image_filter_module opción de compilación.

En nuestros repositorios, el módulo se compila dinámicamente y está disponible como un paquete separado llamado angie-module-image-filter o angie-pro-module-image-filter.

Nota

Este módulo utiliza la biblioteca libgd. Se recomienda utilizar la última versión disponible de la biblioteca.

Para transformar imágenes en formato WebP, la biblioteca libgd debe estar compilada con soporte para WebP.

Ejemplo de Configuración#

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

location = /empty {
    empty_gif;
}

Directivas#

image_filter#

Sintaxis

  • 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;

Predeterminado

image_filter off;

Contexto

location

Establece el tipo de transformación a realizar en las imágenes:

off

desactiva el procesamiento del módulo en una ubicación circundante.

test

garantiza que las respuestas sean imágenes en formato JPEG, GIF, PNG o WebP. De lo contrario, se devuelve el error 415 (Tipo de Medio No Soportado).

size

muestra información sobre las imágenes en formato JSON, por ejemplo: "img" : { "width": 100, "height": 100, "type": "gif" } En caso de error, la salida es la siguiente: {}

rotate 90|180|270

rota las imágenes en sentido contrario a las agujas del reloj según el número de grados especificado. El valor del parámetro puede contener variables. Este modo puede usarse solo o junto con las transformaciones resize y crop.

resize width height

reduce proporcionalmente una imagen a los tamaños especificados. Para reducir solo una dimensión, la otra dimensión puede especificarse como "-". En caso de error, el servidor devolverá el código 415 (Tipo de Medio No Soportado). Los valores de los parámetros pueden contener variables. Cuando se usa junto con el parámetro rotate, la rotación ocurre después de la reducción.

crop width height

reduce proporcionalmente una imagen al tamaño del lado más grande y recorta los bordes sobrantes por el otro lado. Para reducir solo una dimensión, la otra dimensión puede especificarse como "-". En caso de error, el servidor devolverá el código 415 (Tipo de Medio No Soportado). Los valores de los parámetros pueden contener variables. Cuando se usa junto con el parámetro rotate, la rotación ocurre antes de la reducción.

image_filter_buffer#

Sintaxis

image_filter_buffer size;

Predeterminado

image_filter_buffer 1M;

Contexto

http, server, location

Establece el tamaño máximo del búfer utilizado para leer imágenes. Cuando se excede el tamaño, el servidor devuelve el error 415 (Tipo de Medio No Soportado).

image_filter_interlace#

Sintaxis

image_filter_interlace on | off;

Predeterminado

image_filter_interlace off;

Contexto

http, server, location

Si está habilitado, las imágenes finales serán entrelazadas. Para JPEG, las imágenes finales estarán en formato "JPEG progresivo".

image_filter_jpeg_quality#

Sintaxis

image_filter_jpeg_quality quality;

Predeterminado

image_filter_jpeg_quality 75;

Contexto

http, server, location

Establece la calidad deseada de las imágenes JPEG transformadas. Los valores aceptables están en el rango de 1 a 100. Los valores menores normalmente implican tanto menor calidad de imagen como menos datos para transferir. El valor máximo recomendado es 95. El valor del parámetro puede contener variables.

image_filter_sharpen#

Sintaxis

image_filter_sharpen percent;

Predeterminado

image_filter_sharpen 0;

Contexto

http, server, location

Aumenta la nitidez de la imagen final. El porcentaje de nitidez puede exceder el 100. El valor 0 desactiva la nitidez. El valor del parámetro puede contener variables.

image_filter_transparency#

Sintaxis

image_filter_transparency on | off;

Predeterminado

image_filter_transparency on;

Contexto

http, server, location

Define si se debe preservar la transparencia al transformar GIF o PNG con colores de paleta. La pérdida de transparencia da como resultado imágenes de menor calidad. La transparencia del canal alfa en PNG siempre se preserva.

image_filter_webp_quality#

Sintaxis

image_filter_webp_quality quality;

Predeterminado

image_filter_webp_quality 80;

Contexto

http, server, location

Establece la calidad deseada de las imágenes WebP transformadas. Los valores aceptables están en el rango de 1 a 100. Valores menores generalmente implican tanto menor calidad de imagen como menos datos para transferir. El valor del parámetro puede contener variables.