Персональный
сайт
Игоря
Сысоева


 
english
 
sysoev.ru
 
nginx
 поехали!    
 документация    
 поддержка    
 изменения    
 скачать    
 ссылки    
 
mod_accel
mod_realip
mod_deflate
программирование
всякая всячина
windows
freebsd
apache
pppd
unix
web
 
обо мне
для писем
для денег
 

Директивы модуля ngx_http_image_filter_module

 

25.09.2009

Модуль ngx_http_image_filter_module — это фильтр для преобразования изображений в форматах JPEG, GIF и PNG (0.7.54+). По умолчанию модуль не собирается, нужно разрешить его сборку при конфигурировании параметром --with-http_image_filter_module. Для сборки и работы этого модуля нужна библиотека libgd. Рекомендуется использовать самую последнию версию библиотеки, на текущий момент (май 2009) это версия 2.0.35.

Содержание

Пример конфигурации
Директивы
image_filter
image_filter_buffer
image_filter_jpeg_quality
image_filter_transparency

Пример конфигурации

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

location = /empty {
    empty_gif;
}

Директивы


syntax: image_filter (test|size|resize ширина высота|crop ширина высота)
default: нет
context: location

Директива задаёт тип преобразования изображения:

  • test — проверка того, что ответ действительно является изображением в формате JPEG, GIF или PNG. В противном случае выдаётся ошибка 415.
  • size — выдаёт информацию об изображении в формате JSON, например:
    { "img" : { "width": 100, "height": 100, "type": "gif" } }
    
    В случае ошибки выдаётся
    {}
    
  • resize — пропорционально уменьшает изображение до указанных размеров. Если нужно уменьшить только по одному измерению, то в качестве второго можно указать "-". В случае ошибки выдаётся код 415.
  • crop — пропорционально уменьшает изображение до размера большой стороны и обрезает лишние края по другой стороне. Если нужно уменьшить только по одному измерению, то в качестве второго можно указать "-". В случае ошибки выдаётся код 415.


syntax: image_filter_buffer размер
default: image_filter_buffer 1M
context: http, server, location

Директива задаёт максимальный размер буфера для чтения изображения.


syntax: image_filter_jpeg_quality [0..100]
default: image_filter_jpeg_quality 75
context: http, server, location

Директива задаёт коэффициент потери информации при обработке изображений в формате JPEG. Максимальное рекомендуемое значение — 95.


syntax: image_filter_transparency [on|off]
default: image_filter_transparency on
context: http, server, location

Директива определяет, сохранять ли прозрачность при обработке изображений в формате PNG с цветами, заданными палитрой, и формате GIF. Потеря прозрачности позволяет получить более качественное изображение. Прозрачность альфа-канала в формате PNG сохраняется всегда.


(C) Игорь Сысоев
http://sysoev.ru