ngx_http_image_filter_padding.patch

Pavel Krush pavel.krush на googlemail.com
Вт Янв 19 09:40:18 MSK 2010


Добрый день,

Иногда через image_filter нужно сгенерить уменьшенную картинку именно такого
размера, которого запросили. Если по какому-то измерению картинка меньше,
чем запрошено, то это измерение дополняется заданным цветом.

Патч добавляет такую функциональность.
image_filter pad <ширина> <высота> <красный> <зеленый> <синий>;

Значения цветов от 0 до 255(если 0<значение<255, то этот компонент цвета
будет черным). Во все параметры можно подставлять переменные, например, вот
так:

image_filter pad $arg_width $arg_height $arg_red $arg_green $arg_blue;

вот из таких картинок
http://pix.academ.org/img/2010/01/19/08c562a4f272b2e8eaa047e5505f9ac1.jpg
получаются такие
http://pix.academ.org/img/2010/01/19/e9d907e04c8fce03c8762b3624b4f4ab.jpg

Это первый мой опыт ковыряния в nginx, так что мог что-то сделать не так как
надо было =) В том числе не нашел в nginx средства, чтобы значение в конфиге
воспринимались как 16-ричные значения, потому что хочется все-таки писать не
image_filter pad 100 100 255 171 0;
а
image_filter pad 100 100 ff ab 00;
Самому обрабатывать эти значения очень не хотелось.

Проверялось на 0.8.32
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100119/84cf55d8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ngx_http_image_filter_padding.patch.gz
Type: application/x-gzip
Size: 1760 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100119/84cf55d8/attachment.bin>


Подробная информация о списке рассылки nginx-ru