Модуль http_image_filter
#
Фильтр для преобразования изображений в форматах JPEG, GIF, PNG и WebP.
Важно
Для сборки и работы этого модуля необходима библиотека libgd. Рекомендуется использовать самую последнюю версию библиотеки.
Для преобразования изображений в формате WebP библиотека 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#
- Синтаксис:
image_filter
off;
image_filter
test;
image_filter
size;
image_filter
rotate 90 | 180 | 270;
image_filter
resize ширина высота;
image_filter
crop ширина высота;- Умолчание:
image_filter off;
- Контекст:
location
Задаёт тип преобразования изображения:
|
отключает обработку данным модулем во вложенном location. |
|
проверяет, что ответ действительно является изображением в формате JPEG, GIF, PNG или WebP. В противном случае возвращается ошибка 415 (Unsupported Media Type). |
|
|
|
поворачивает изображение против часовой стрелки на указанное число градусов. В значении параметра допустимо использование переменных. Можно использовать как отдельно, так и совместно с преобразованиями resize и crop. |
|
пропорционально уменьшает изображение до указанных размеров. Если требуется уменьшить только по одному измерению, то в качестве второго можно указать “-”. В случае ошибки сервер возвращает код 415 (Unsupported Media Type). В значениях параметров допустимо использование переменных. При использовании совместно с rotate, поворот изображения происходит после уменьшения размеров изображения. |
|
пропорционально уменьшает изображение до размера большей стороны и обрезает лишние края по другой стороне. Если требуется уменьшить только по одному измерению, то в качестве второго можно указать “-”. В случае ошибки сервер возвращает код 415 (Unsupported Media Type). В значениях параметров допустимо использование переменных. При использовании совместно с rotate, поворот изображения происходит до уменьшения размеров изображения. |
image_filter_buffer#
- Синтаксис:
image_filter_buffer
размер;- Умолчание:
image_filter_buffer 1M;
- Контекст:
http, server, location
Задаёт максимальный размер буфера для чтения изображения. При превышении размера сервер вернёт ошибку 415 (Unsupported Media Type).
image_filter_interlace#
- Синтаксис:
image_filter_interlace
on | off;- Умолчание:
image_filter_interlace off;
- Контекст:
http, server, location
Если включено, то итоговые изображения будут с чересстрочностью. В случае JPEG итоговые изображения будут в формате “progressive JPEG”.
image_filter_jpeg_quality#
- Синтаксис:
image_filter_jpeg_quality
качество;- Умолчание:
image_filter_jpeg_quality 75;
- Контекст:
http, server, location
Задаёт желаемое качество преобразованного изображения в формате JPEG. Допустимые значения находятся в диапазоне от 1 до 100. Меньшим значениям обычно соответствует худшее качество изображения и меньший объём передаваемых данных. Максимальное рекомендуемое значение — 95. В значении параметра допустимо использование переменных.
image_filter_sharpen#
- Синтаксис:
image_filter_sharpen
процент;- Умолчание:
image_filter_sharpen 0;
- Контекст:
http, server, location
Повышает резкость итогового изображения. Процент резкости может быть больше 100. Значение 0
отключает повышение резкости. В значении параметра допустимо использование переменных.
image_filter_transparency#
- Синтаксис:
image_filter_transparency
on | off;- Умолчание:
image_filter_transparency on;
- Контекст:
http, server, location
Определяет, сохранять ли прозрачность при обработке изображений в формате GIF и в формате PNG с цветами, заданными палитрой. Потеря прозрачности позволяет получить более качественное изображение. Прозрачность альфа-канала в формате PNG сохраняется всегда.
image_filter_webp_quality#
- Синтаксис:
image_filter_webp_quality
качество;- Умолчание:
image_filter_webp_quality 80;
- Контекст:
http, server, location
Задаёт желаемое качество преобразованного изображения в формате WebP. Допустимые значения находятся в диапазоне от 1 до 100. Меньшим значениям обычно соответствует худшее качество изображения и меньший объём передаваемых данных. В значении параметра допустимо использование переменных.