×
Покер бот на Ruby on Rails (12 сен 2018)

Третья ипостась покера на ruby. Искреннее спасибо всем, кто прислал замечания по предыдущим релизам.

Вопрос Водяной знак для картинок, на автомате

Больше
5 года 1 мес. назад #1 от unior
Всем привет. Кто знает как оптимально реализовать автоналожение водяного знака на загружаемые на сайт изображения? джумла 2.5.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
5 года 1 мес. назад - 5 года 1 мес. назад #2 от ralf
Попробуйте этот плагин - JUMultiThumb . Может многое:

  • Кэш миниатюр изображений
  • Автоматически создает папки для эскизов изображений в папке кэша Joomla
  • Изменение размера всех изображений, также и с использованием определенных CSS-классов
  • Возможность изменения качества изображения
  • Ресайз изображения по ширине и высоте
  • Водяные знаки
  • Ссылка на статью в изображение в программе FrontPage.
  • Использование Lightbox для изображений на основе библиотеки Shadowbox JS. Поддержка библиотеки на 23 языках. Выбор шаблона для лайтбокса.
  • Использование Lightbox для изображений на основе библиотеки Slimbox.
  • И не только

Либо скриптов немало таких. Скажем, так:

Создаем в корне сайта каталог с названием watermark, где размещаем этот скрипт:

<? 

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]); 
   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. Далее - приведенный ниже .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>

либо отсюда мона скачать файлы, если лениво даже копипастить.
Последнее редактирование: 5 года 1 мес. назад пользователем ralf.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
5 года 1 мес. назад #3 от prostolinux
Я плагином пользуюсь Watermark RELOADED для wordpress мне нравится. Может кому пригодится.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.