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

Сайт OnWordpress.ru продается

Оптимальная цена 300 000 рублей

Подробнее
Водяной знак на фотографии

Водяной знак на фотографии помогает защитить изображение от копирования. Для многих блогов уникальный контент играет очень важную роль. В частности это можно сказать про фотоблоги. И естественно, что авторы уникальных фотографий и изображений борятся за свое авторство. Сейчас я приведу хороший способ, с помощью которого можно наложить водяной знак на все фотографии и изображения в блоге. Причем водяной знак накладывается автоматически и при этом не используются плагины Wordperss.

Накладываем водяной знак на фото без плагинов

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

Затем создаем файл watermark.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
//	$info_o[1] > 250

   if( ($info_o[0] > 50) && ($info_o[1] > 50) )
   {
   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.

И финальное действие. Создаем файл .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>

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

Расскажите друзьям
Нравится блог? - Читайте ВКонтакте
Ответим на Ваши вопросы в комментариях