Водяной знак на картинки

Вопрос как сделать водяной знак на фото интересует многих веб-мастеров, которые создают картинки для своих сайтов самостоятельно. Установленный водяной знак на Ваших изображениях — один из способов защиты от их копирования. Ни для кого не секрет, что сохранить картинки с сайтов — дело пары кликов. Даже если правая кнопка мыши с помощью специального скрипта на сайте отключена, на помощь придет клавиша PrtSc (Print Scrin) — снимаем скриншот с экрана, открываем графический редактор — и вуаля, картинка наша.
Поэтому если у Вас на блоге выложены какие-то интересные эксклюзивные изображения, фотографии, и Вы не хотите, чтобы они попали в чужие руки, то один из способов отвадить от этого посетителей — ставить на картинках в водяные знаки.

Водяной знак на фото wordpress

Как сделать водяной знак на фото WordPress?

Реализация этого не составляет труда — на помощь приходит специальный плагин Smart WaterMark. Его настройки позволяют задать прозрачность водяного знака, расположение на картинке и еще некоторые другие параметры.
Подробное видео поможет защитить Ваши картинки.

Плагин установки водяного знака WordPress

Водяной знак wordpress — плагин из видеоурока
Watermark Reloaded — еще один похожий
Signature Watermark — самый классный, который я сам использую

Водяной знак на фото без плагина

Традиционный раздел для противников плагина. Настроек меньше и делать их менее удобно, зато без нагрузки на сервер.

Итак, создаем файл watermark.php с кодом:

<?php
waterMark($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'],
 "watermark.png", "bottom=5,right=5"); 
 
function waterMark($original, $watermark, $placement = 
'bottom=5,right=5', $destination = null) { 
   $original = urldecode($original);
   $info_o = @getImageSize($original); 
   if (!$info_o) 
         return false; 
   $info_w = @getImageSize($watermark); 
   if (!$info_w) 
         return false; 
 
   list ($vertical, $horizontal) = split(',', $placement,2); 
   list($vertical, $sy) = split('=', trim($vertical),2); 
   list($horizontal, $sx) = split('=', trim($horizontal),2); 
 
   switch (trim($vertical)) { 
      case 'bottom': 
         $y = $info_o[1] - $info_w[1] - (int)$sy; 
         break; 
      case 'middle': 
         $y = ceil($info_o[1]/2) - ceil($info_w[1]/2) + (int)$sy; 
         break; 
      default: 
         $y = (int)$sy; 
         break; 
      } 
 
   switch (trim($horizontal)) { 
      case 'right': 
         $x = $info_o[0] - $info_w[0] - (int)$sx; 
         break; 
      case 'center': 
         $x = ceil($info_o[0]/2) - ceil($info_w[0]/2) + (int)$sx; 
         break; 
      default: 
         $x = (int)$sx; 
         break; 
      } 
 
   header("Content-Type: ".$info_o['mime']); 
 
   $original = @imageCreateFromString(file_get_contents($original)); 
   $watermark = @imageCreateFromString(file_get_contents($watermark)); 
   $out = imageCreateTrueColor($info_o[0],$info_o[1]); 
 
   imageCopy($out, $original, 0, 0, 0, 0, $info_o[0], $info_o[1]); 
 
//Здесь задаем размер изображения в которые можно добавлять Watermark
// $info_o[0] > 250 - ширина изображения должна быть больше 250 px
// $info_o[1] > 250 - высота изображения должна быть больше 250 px
 
   if( ($info_o[0] > 250) && ($info_o[1] > 250) )
   {
   imageCopy($out, $watermark, $x, $y, 0, 0, $info_w[0], $info_w[1]);
   }
 
   switch ($info_o[2]) { 
      case 1: 
         imageGIF($out); 
         break; 
      case 2: 
         imageJPEG($out); 
         break; 
      case 3: 
         imagePNG($out); 
         break; 
         } 
 
   imageDestroy($out); 
   imageDestroy($original); 
   imageDestroy($watermark); 
 
   return true; 
   } 
?>





Далее создаем картинку, которая будет накладываться на фотографии и называем ее watermark.png
После чего создаем папку опять же с именем watermark в корневой директории сайта и загружаем в нее оба этих файла.

И последнее — создаем файл .htaccess, вписываем в него такие строки:

DirectoryIndex index.php 
<FilesMatch "\.(gif|jpg|png)$"> 
   RewriteEngine On 
   RewriteCond %{REQUEST_FILENAME} -f 
   RewriteRule ^(.*)$ /watermark/watermark.php [T=application/x-httpd-php,L,QSA] 
</FilesMatch>

А потом загружаем этот файл во все папки, где находятся картинки, которые вы хотите защитить.
Все, теперь на каждое отображаемое фото будет накладываться водяной знак.

Поделись этой статьей с друзьями!

Это будет интересно прочитать:

  • Не проще ли сделать такое в фотошопе да еще и сохранить файл как для веб. Это сможет защитить ваш файл и снизить его вес.

    • В фотошопе проще, но он много весит, а для такой простой процедуры, если он больше ни для чего не нужен, можно использовать другие варианты. И потом он все-таки денег стоит

  • Понимаю что через фотошоп сделать можно, просто я хочу чтобы другие пользователи добавляли посты и когда они будут добавлять изображение водяной знак должен ставится автоматом. У меня почему-то плагин не работает :(, а если в ручную без плагина то скажите плз куда папку watermark нужно поставить?

  • Не знала, что можно автоматизировать процесс нанесения водяного знака. У меня очень много картинок в каждом посте и везде ставлю название сайта в ручную. Теперь попробую плагин. Спасибо.

  • Добрый день!
    При применении вашего кода изображение на выходе получается битым.
    В чем может быть причина?

    • Со времени написания статьи версия движка изменилась. Возможно, причина в том,что некоторые функции стали некорректно работать. Используйте обновляемые плагины

  • Вот уж не знала, что водяной знак можно вывести не только с помощью графических редакторов, но и с помощью плагина. Это для меня открытие.

  • У Вас раньше были вод. знаки в подвале и в статьях, по-моему. Я все хотел задать вопрос: как это сделано? Сегодня все-таки добрался до этой статьи. Спасибо. Вы изменили дизайн?

Добавить комментарий