<div dir="ltr"><div class="gmail_extra"><br><br><div class="gmail_quote">6 февраля 2013 г., 22:44 пользователь Михаил Монашёв <span dir="ltr"><<a href="mailto:postmaster@softsearch.ru" target="_blank">postmaster@softsearch.ru</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Здравствуйте, Trurl.<br>
<br>
Функционал весьма полезный. Я б, например, на картинки, которые<br>
сторонние сайты запрашивают, вставлял бы водные знаки. А сейчас 403<br>
выдаю.<br>
<br>
Но хоть я не сишник, но подозреваю, что сделано не самым лучшим<br>
образом. При каждом наложении водного знака зачем-то делается заново<br>
открытие файла с водным знаком, чтение его с диска (про aio промолчу)<br>
и создание изображения. Всё это можно при старте nginx-а делать или<br></blockquote><div><br></div><div>Разница не слишком велика, при интенсивной нагрузке он все равно будет в буффере системы жить, а зря занимать память тоже не охота. Да и лень )<br>
<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
делать единожды при первой потребности, а потом много раз<br>
использовать. Если водный знак может меняться, то повесить вотчер на<br>
изменения файла и по событию перечитывать его. Зачем-то (подозреваю,<br>
что это нужно, чтобы иметь изображение нужного формата/цветности)<br>
делается аж три копирования изображений, что наверняка сильно грузит<br>
процессор, если картинка 10 метров, например.<br></blockquote><div><br></div><div>Увы, это единственный известный мне способ не потерять альфаканал при совмещении.<br></div><div>А красивые ватермарки без него не сделать. Да и все равно подразумевается что там стоит expires 40d; минимум и на внешнем кольце все кешируется..<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
По мелочи: нельзя конфигурировать отступы от края изображения, задавая<br>
их в пикселях или процентах ширины исходного изображения. Может<br>
кому-то будет полезно влепить водный знак по центру, кстати. И бывает<br>
полезно замостить водным знаком всё изображение: <a href="http://i38.beon.ru/56/31/2483156/paid-avatars/95391b8e2d23c38f93a5559c9a6a22c3.gif" target="_blank">http://i38.beon.ru/56/31/2483156/paid-avatars/95391b8e2d23c38f93a5559c9a6a22c3.gif</a><br>
</blockquote><div><br></div><div>Угу, а еще на лету генерировать ватермарки из текста, отдаваемого субреквестом; менять exif картинки; подбирать из набора подходящую ватермарку под пропорции картинки; автоматически подбирать место для ватермарки исходя из динамики цвета на картинке (причем как искать однотонные места, так и наоборот, по выбору)<br>
</div><div>Короче я сам могу еще много придумать, вот только времени нет это все реализовывать ;)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Вопросы: как работает, если изображение с водным знаком больше<br>
исходного изображения. Или исходное изображение меньше, чем 10х10? И<br>
что с анимированными гифами?<br></blockquote><div><br></div><div>калечит, конечно. Я даже проверку на размеры не делал и вообще весь код был написан прямо в diff файле )) <br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
--<br>
С уважением,<br>
Михаил mailto:<a href="mailto:postmaster@softsearch.ru">postmaster@softsearch.ru</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br></div></div>