watermark patch

Trurl McByte trurl at mcbyte.net
Wed Feb 6 23:03:24 UTC 2013


6 февраля 2013 г., 22:44 пользователь Михаил Монашёв <
postmaster at softsearch.ru> написал:

> Здравствуйте, Trurl.
>
> Функционал  весьма  полезный.  Я  б,  например,  на  картинки, которые
> сторонние  сайты  запрашивают,  вставлял бы водные знаки. А сейчас 403
> выдаю.
>
> Но  хоть  я  не  сишник,  но  подозреваю,  что сделано не самым лучшим
> образом.  При  каждом наложении водного знака зачем-то делается заново
> открытие  файла с водным знаком, чтение его с диска (про aio промолчу)
> и  создание  изображения.  Всё это можно при старте nginx-а делать или
>

Разница не слишком велика, при интенсивной нагрузке он все равно будет в
буффере системы жить, а зря занимать память тоже не охота. Да и лень )



> делать   единожды   при   первой   потребности,   а  потом  много  раз
> использовать.  Если  водный знак может меняться, то повесить вотчер на
> изменения  файла  и по событию перечитывать его. Зачем-то (подозреваю,
> что  это  нужно,  чтобы  иметь  изображение нужного формата/цветности)
> делается  аж  три копирования изображений, что наверняка сильно грузит
> процессор, если картинка 10 метров, например.
>

Увы, это единственный известный мне способ не потерять альфаканал при
совмещении.
А красивые ватермарки без него не сделать. Да и все равно подразумевается
что там стоит expires 40d; минимум и на внешнем кольце все кешируется..


>
> По мелочи: нельзя конфигурировать отступы от края изображения, задавая
> их  в  пикселях  или  процентах  ширины  исходного  изображения. Может
> кому-то будет полезно влепить водный знак по центру, кстати. И бывает
> полезно замостить водным знаком всё изображение:
> http://i38.beon.ru/56/31/2483156/paid-avatars/95391b8e2d23c38f93a5559c9a6a22c3.gif
>

Угу, а еще на лету генерировать ватермарки из текста, отдаваемого
субреквестом; менять exif картинки; подбирать из набора подходящую
ватермарку под пропорции картинки; автоматически подбирать место для
ватермарки исходя из динамики цвета на картинке (причем как искать
однотонные места, так и наоборот, по выбору)
Короче я сам могу еще много придумать, вот только времени нет это все
реализовывать ;)


>
> Вопросы:  как  работает,  если  изображение  с  водным  знаком  больше
> исходного  изображения.  Или исходное изображение меньше, чем 10х10? И
> что с анимированными гифами?
>

калечит, конечно. Я даже проверку на размеры не делал и вообще весь код был
написан прямо в diff файле ))


>
> --
> С уважением,
>  Михаил                          mailto:postmaster at softsearch.ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130207/4901c5b6/attachment.html>


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