Модуль ngx_http_image_filter_module
- Пример конфигурации
- Директивы
- image_filter
- image_filter_buffer
- image_filter_interlace
- image_filter_jpeg_quality
- image_filter_sharpen
- image_filter_transparency
- image_filter_webp_quality
Модуль ngx_http_image_filter_module (0.7.54+) — это фильтр, преобразующий изображения в форматах JPEG, GIF, PNG и WebP.
Этот модуль не включён по умолчанию, его необходимо включить с помощью параметра конфигурации --with-http_image_filter_module.
Этот модуль использует библиотеку libgd. Рекомендуется использовать последнюю доступную версию библиотеки.
Поддержка формата WebP появилась в версии 1.11.6. Для преобразования изображений в этом формате, библиотека libgd должна быть скомпилирована с поддержкой WebP.
Пример конфигурации
location /img/ {
proxy_pass http://backend;
image_filter resize 150 100;
image_filter rotate 90;
error_page 415 = /empty;
}
location = /empty {
empty_gif;
}
Директивы
| Синтаксис: | 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; |
|---|---|
| Значение по умолчанию: | image_filter off; |
| Контекст: | location |
Устанавливает тип преобразования, выполняемого над изображениями:
off- отключает обработку модуля в заданной области.
test- гарантирует, что ответы являются изображениями в формате JPEG, GIF, PNG или WebP. В противном случае возвращается ошибка 415 (Unsupported Media Type).
size- выводит информацию об изображениях в формате JSON, например:
{ "img" : { "width": 100, "height": 100, "type": "gif" } }В случае ошибки, вывод выглядит следующим образом:{} -
rotate90|180|270 - поворачивает изображения против часовой стрелки на указанное количество градусов. Значение параметра может содержать переменные. Этот режим может быть использован как самостоятельно, так и вместе с преобразованиями
resizeиcrop. -
resizewidthheight - пропорционально уменьшает изображение до указанных размеров. Для уменьшения только по одной размерности можно указать другую размерность как “
-”. В случае ошибки сервер вернёт код 415 (Unsupported Media Type). Значения параметров могут содержать переменные. При использовании вместе с параметромrotate, поворот происходит после уменьшения. -
cropwidthheight - пропорционально уменьшает изображение до большего размера и обрезает лишние края по другой стороне. Для уменьшения только по одной размерности можно указать другую размерность как “
-”. В случае ошибки сервер вернёт код 415 (Unsupported Media Type). Значения параметров могут содержать переменные. При использовании вместе с параметромrotate, поворот происходит до уменьшения.
| Синтаксис: | image_filter_buffer size; |
|---|---|
| Значение по умолчанию: | image_filter_buffer 1M; |
| Контекст: | http, server, location |
Устанавливает максимальный размер буфера, используемого для чтения изображений. При превышении размера сервер возвращает ошибку 415 (Unsupported Media Type).
| Синтаксис: | image_filter_interlace on | off; |
|---|---|
| Значение по умолчанию: | image_filter_interlace off; |
| Контекст: | http, server, location |
Эта директива появилась в версии 1.3.15.
Если включено, конечные изображения будут чередующимися. Для JPEG конечные изображения будут в формате «постепенного JPEG».
| Синтаксис: | image_filter_jpeg_quality quality; |
|---|---|
| Значение по умолчанию: | image_filter_jpeg_quality 75; |
| Контекст: | http, server, location |
Устанавливает желаемое quality преобразованных изображений JPEG. Допустимые значения находятся в диапазоне от 1 до 100. Меньшие значения обычно означают как более низкое качество изображения, так и меньший объём передаваемых данных. Максимально рекомендуемое значение — 95. Значение параметра может содержать переменные.
| Синтаксис: | image_filter_sharpen percent; |
|---|---|
| Значение по умолчанию: | image_filter_sharpen 0; |
| Контекст: | http, server, location |
Увеличивает резкость конечного изображения. Процент резкости может превышать 100. Нулевое значение отключает резкость. Значение параметра может содержать переменные.
| Синтаксис: | image_filter_transparency on|off; |
|---|---|
| Значение по умолчанию: | image_filter_transparency on; |
| Контекст: | http, server, location |
Определяет, должно ли сохраняться прозрачность при преобразовании изображений GIF или PNG с цветами, заданными палитрой. Потеря прозрачности приводит к изображениям лучшего качества. Прозрачность канала альфа в PNG всегда сохраняется.
| Синтаксис: | image_filter_webp_quality quality; |
|---|---|
| Значение по умолчанию: | image_filter_webp_quality 80; |
| Контекст: | http, server, location |
Эта директива появилась в версии 1.11.6.
Устанавливает желаемое quality преобразованных изображений WebP. Допустимые значения находятся в диапазоне от 1 до 100. Меньшие значения обычно означают как более низкое качество изображения, так и меньший объём передаваемых данных. Значение параметра может содержать переменные.
© 2002-2021 Igor Sysoev
© 2011-2024 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/http/ngx_http_image_filter_module.html