Spec-Zone.ru › nginx

Модуль 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" } }
В случае ошибки, вывод выглядит следующим образом:
{}
rotate 90|180|270
поворачивает изображения против часовой стрелки на указанное количество градусов. Значение параметра может содержать переменные. Этот режим может быть использован как самостоятельно, так и вместе с преобразованиями resize и crop.
resize width height
пропорционально уменьшает изображение до указанных размеров. Для уменьшения только по одной размерности можно указать другую размерность как “-”. В случае ошибки сервер вернёт код 415 (Unsupported Media Type). Значения параметров могут содержать переменные. При использовании вместе с параметром rotate, поворот происходит после уменьшения.
crop width height
пропорционально уменьшает изображение до большего размера и обрезает лишние края по другой стороне. Для уменьшения только по одной размерности можно указать другую размерность как “-”. В случае ошибки сервер вернёт код 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API