Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
image_filter_jpeg_quality не работает без указания image_filter rotate|resize|crop
- To: nginx-ru@xxxxxxxxx
- Subject: image_filter_jpeg_quality не работает без указания image_filter rotate|resize|crop
- From: mxs kolo <kolomaxes@xxxxxxxxx>
- Date: Wed, 19 Sep 2012 12:39:31 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=R9Iu3Cwpx1PiYAL7IQUtT7YFck+w102241Yd2b1qTww=; b=NNWytpQDh84NmnavNuxiUd2jyKk1gRKCeNmEPD72mVy8UMkHPJ9s9jo+zS2HX3rXY4 IZpdkoSjP78u8Lo5nvqwFy8BCxevMZPOuUc6K1CA260pfCwJ6dUsN29FwHwu8mtR4YGe GNDXLj/skOEeHdBaJKToZF3n9JlcjGurQT/U0CGD0NU23hGLCDOH3NZcmN94t8K6zrBQ PcnG5INX8dhwG3sg25EoW6qisAdgdGAZnu7kCV+kb0oAZnlIvZfQZwoCqGLqyzXqtuO9 e8BIpdlw7aWMwU+n7Ctd/KRC/CSCQBLMphJ4UoWaYa7YvcRR064PRW/Xgt7FewHQRPtz ETiw==
Hi all
У меня не получилось сделать так, чтобы модуль
ngx_http_image_filter_module просто пережимал jpeg, без вращения его
или ресайза.
Я пробовал на версиях nginx 1.3.6, 1.3.5, 1.2.3
Возможно что я не прав и я просто не понял как правильно сделать
конфиг, вот его кусок:
location ~* \.(jpg|jpeg)$ {
image_filter_buffer 10M;
image_filter_jpeg_quality 75;
image_filter_sharpen 25;
root /var/www/vhosts/some-domain-here.ru/httpdocs/;
}
Изображение отдаётся без пережатия.
Но если добавить в location строку
image_filter rotate 180;
то и картинка повернётся и jpg станет меньше по размеру и пошарпится.
Но насколько я вижу по исходному коду такая функциональность вообще
не предусмотрена без указания image_filter rotate|resize|crop.
Дело в том что ngx_http_image_body_filter() не будет работать пока не
указан фильтр, а фильтр задаётся только в ngx_http_image_filter() и
там нет случая для "только quality"
В аттаче есть патч которым я решил эту проблему для себя.
Мне пришось добавить новый тип фильтра - quality_only.
Мой конфиг теперь выглядит так:
location ~* \.(jpg|jpeg)$ {
image_filter quality_only;
image_filter_buffer 10M;
image_filter_jpeg_quality 75;
image_filter_sharpen 25;
root /var/www/vhosts/some-domain-here.ru/httpdocs/;
}
Я был -бы очень признателен, если-бы кто-то посмотрел патч на предмет ошибок.
b.r.
Maxim Kozin
Attachment:
ngx_http_image_filter_module_1_3_6.filter_quality_only.patch
Description: Binary data
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|