Водяной знак в Инстант 2 как?

#1 3 мая 2014 в 21:20
Может кто думает над этим? По мне так очень важная функция? Ребят, есть у кого нибудь решение?
#2 3 мая 2014 в 22:03
да, тоже интересно
#3 3 мая 2014 в 22:09
на фотках хотелось бы
#4 4 мая 2014 в 10:19
Всегда и везде (на любых движках) пользуюсь этим скриптом. Очень удачная штука.

Создаем 2 файла

гы
оздаем в корне сайта папку с названием watermark и забрасываем в нее два этих файла:
_watermark.php (сам скрипт):
  1. <?
  2.  
  3. waterMark($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'], "watermark.png", "bottom=5,right=5");
  4.  
  5. function waterMark($original, $watermark, $placement = 'bottom=5,right=5', $destination = null) {
  6. $original = urldecode($original);
  7. $info_o = @getImageSize($original);
  8. if (!$info_o)
  9. return false;
  10. $info_w = @getImageSize($watermark);
  11. if (!$info_w)
  12. return false;
  13.  
  14. list ($vertical, $horizontal) = split(',', $placement,2);
  15. list($vertical, $sy) = split('=', trim($vertical),2);
  16. list($horizontal, $sx) = split('=', trim($horizontal),2);
  17.  
  18. switch (trim($vertical)) {
  19. case 'bottom':
  20. $y = $info_o[1] - $info_w[1] - (int)$sy;
  21. break;
  22. case 'middle':
  23. $y = ceil($info_o[1]/2) - ceil($info_w[1]/2) + (int)$sy;
  24. break;
  25. default:
  26. $y = (int)$sy;
  27. break;
  28. }
  29.  
  30. switch (trim($horizontal)) {
  31. case 'right':
  32. $x = $info_o[0] - $info_w[0] - (int)$sx;
  33. break;
  34. case 'center':
  35. $x = ceil($info_o[0]/2) - ceil($info_w[0]/2) + (int)$sx;
  36. break;
  37. default:
  38. $x = (int)$sx;
  39. break;
  40. }
  41.  
  42. header("Content-Type: ".$info_o['mime']);
  43.  
  44. $original = @imageCreateFromString(file_get_contents($original));
  45. $watermark = @imageCreateFromString(file_get_contents($watermark));
  46. $out = imageCreateTrueColor($info_o[0],$info_o[1]);
  47.  
  48. imageCopy($out, $original, 0, 0, 0, 0, $info_o[0], $info_o[1]);
  49. if( ($info_o[0] > 250) && ($info_o[1] > 250) )
  50. {
  51. imageCopy($out, $watermark, $x, $y, 0, 0, $info_w[0], $info_w[1]);
  52. }
  53.  
  54. switch ($info_o[2]) {
  55. case 1:
  56. imageGIF($out);
  57. break;
  58. case 2:
  59. imageJPEG($out);
  60. break;
  61. case 3:
  62. imagePNG($out);
  63. break;
  64. }
  65.  
  66. imageDestroy($out);
  67. imageDestroy($original);
  68. imageDestroy($watermark);
  69.  
  70. return true;
  71. }
  72.  
  73. ?>

и watermark.png(вашу картинку)
2.Создаем файл .htaccess:

  1. DirectoryIndex index.php
  2.  
  3. <FilesMatch "\.(gif|jpg|png)$">
  4. RewriteEngine On
  5. RewriteCond %{REQUEST_FILENAME} -f
  6. RewriteRule ^(.*)$ /watermark/_watermark.php [T=application/x-httpd-php,L,QSA]
  7. </FilesMatch>
#5 4 мая 2014 в 10:39

Очень удачная штука.

Adjuster
Я бы не был так уверен. Эта "штука" для каждой картинки, запрошенной браузером, на лету накладывает ватермарк, причем на gif зачем то тоже. В общем, вы конечно пользуйтесь, но глупость народу не советуйте. Под глупостью подразумевается:

2.Создаем файл .htaccess:

Adjuster
#6 4 мая 2014 в 11:25

для каждой картинкина лету накладывает ватермарк

Fuze
На аватарки тоже?)
#7 4 мая 2014 в 16:05


для каждой картинкина лету накладывает ватермарк

Fuze
На аватарки тоже?)

Raiden

конечно :)
на все графические файлы с расширением jpg, png, gif.
#8 4 мая 2014 в 16:22
Adjuster, Это порежет анимацию ГИФ. Уж легче ява-скриптами защитить от скачки, как фотографы на своих сайтах делают)))
#9 4 мая 2014 в 16:24

на все графические файлы с расширением jpg, png, gif.

Не совсем на все конечно, есть ограничение в 250 пикс, но все равно ничего хорошего в таком подходе нет.
#10 4 мая 2014 в 18:26
Решение предлагайте. Делу разглогальствованием не помочь.
#11 4 мая 2014 в 23:32

Решение предлагайте. Делу разглогальствованием не помочь.

SpaceSel
Ой какой строгий. Расслабся чувак, не все сразу, будет решение, 4 дня с релиза только прошло. Разглагольствования позволяют поддерживать тему в актуальном состоянии, чтобы она не спускалась глубоко вниз где ее уже никто не увидит, это привлечет к ней больше внимания разработчиков, а значит увеличит шансы на то, что кто нибудь предложит решение.
#12 5 мая 2014 в 19:56

Ой какой строгий

Serious Cat
Решение найти необходимо, а не обсуждать его существование в мире сём.
#13 5 мая 2014 в 22:12

Решение найти необходимо, а не обсуждать его существование в мире сём.

SpaceSel
Идеализации. Видите ли, те кто умеет искать решения, разработчики — они ищут и много тут не базарят, а те кто не умеет, простые пользователи cms — обсуждают и разглагольствуют, ну а тем кому совсем сильно нужно, необходимо как вы говорите, изыскивают бюджеты и заказывают платные доработки. Так что все нормально, кто-то занимается творческими поисками, кто-то технической реализацией, это обычная атмосфера здесь, привыкайте. v
#14 30 ноября 2014 в 18:52
Так и не нашел, реализовано ли уже в 2.1.2 водяной знак( Подскажите где и как, может просмотрел в админке. Заранее благодарен
#15 4 декабря 2014 в 06:58
Я сделал у себя на сайте такую возможность. Если кому то очень нужно — могу дать файлы. Добавляет водяной знак в фотогалерее и в материалах на размер "big" и "original". Так же ряд улучшений в фотогалерее, например разворачивать фотку при нажатии, а не открывать следующую. Посмотреть можно: Кумыска Онлайн (сайт в разработке). Чем смогу, помогу.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.