Как сделать водяные знаки на картинках в Joomla!

Октябрь 1st, 2010 by Папа Женя
14

joomla Вообще-то я с joomla раньше дела почти не имел, но попросили помочь с сайтом, так что потихоньку осваиваю некоторые приемы работы с ней. Чтобы знания не пропадали, буду рассказывать о том, что изучил, здесь.

Во-первых, что такое Joomla!? Joomla — CMS (Content Management System) — система управления контентом. Это такой движок для создания сайтов.

Еще проще. Положим, вы хотите сделать сайт. Самый примитивный способ — сделать его из статических страниц: каждая страница сайта будет иметь фиксированное содержание и редактируется независимо от остальных страниц. Такой сайт сложно модифицировать. Если вы захотите добавить новую страницу к такому сайту, то ссылки на нее с остальных страниц придется добавлять вручную.

Чтобы избежать лишней рутинной работы, можно воспользоваться вспомогательными программами, которые работают на сервере (на том компьютере, где расположены все данные сайта) и берут на себя часть работы по формированию страниц, которые видит посетитель сайта. Набор таких программ, работающий как единое целое и обеспечивающий администратора сайта необходимым функционалом для удобного редактирования и управления сайтом, и называют движком.

Например, Joomla! популярная CMS, так же как и Wordpress, на котором работает, например, мой блог.

Так вот, поставлена задача: есть сайт моих друзей — Ландшафтная Компания Каскад. На сайте выложены фотографии работ, выполненных этой фирмой, и эти фотографии воруют и выкладывают у себя веб-мастера сайтов некоторых других озеленительных фирм. Требуется подписать все фотографии на сайте, указать откуда они взяты.

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

Чуть-чуть поискав, я обнаружил подходящий скрипт на Форуме русской поддержки Joomla! CMS. Во второй записи указанной темы предлагается скачать скрипт watermark_script.zip, который решает поставленную задачу.

В архиве три файла: .htaccess, скрипт _watermark.php и изображение watermark.png. Изображение надо заменить на свое, в котором будет находиться требуемая подпись к картинкам на прозрачном фоне и в формате png. Скрипт и картинку надо положить в папке watermark в корень сайта. Файл .htaccess необходимо расположить в той папке, в которой (и ее подпапках) будут располагаться все изображения на которые необходимо наносить нашу watermark-подпись. Все готово — в нижнем правом углу отображается, например, адрес сайта.

Работы ландшафтной фирмы Каскад

Работает это так: При обращении к картинке, которая лежит в папке с нашим .htaccess, сервер сначала читает инструкции в этом файле. Оттуда идет команда применить к запрашиваемому изображению скрипт _watermark.php. Скрипт _watermark.php находит картинку watermark.png и выдает пользователю исходное запрошенное изображение с уже внесенными изменениями — наложенной на нее подписью.

Забыл сказать, у скрипта на форуме стоит ограничение: запрет добавления watermark к картинкам меньше 250 на 250 пикселов. Если вам надо изменить этот параметр, это можно сделать поправив строку «if ( ($info_o[0] > 250) && ($info_o[1] > 250) )» в php-файле.

А watermark, если кто-то не знает, — это водяные знаки.

Posted in Разное-Полезное, Хочу все знать

14 Responses to “Как сделать водяные знаки на картинках в Joomla!”

  1. Belka пишет:

    Спасибо за скрипт. Заработал сразу и без проблем. Вопросик: А этот скрипт не сильно нагружает сервер?

  2. brk пишет:

    Спасибо большое.

    Всё чики-чики

  3. Виктор пишет:

    Сделал все как написано, изображение осталось без надписи((( Решил удалить папку которая появилась в изображениях .htaccess не как не выходит, а на хостинге файл вообще найти не могу. Подскажи как исправить или где найти папку что бы удалить. Откат не хотелось бы делать. За ранее благодарю.

    • Папа Женя пишет:

      Извините за поздний ответ, был в отъезде.

      Не очень понял, что именно вы делали и какую папку хотели удалить. Во всяком случае .htaccess — это не папка, а системный файл, который описывает правила работы с текущей папкой.

  4. Виктор пишет:

    Все решил проблему, удалил и вернул все как было!

  5. точа пишет:

    Все просто и классно.

    Только хотелось узнать, по умолчанию ватермарк ставится в нижний правый угол. А как эту картинку png спозиционировать в центр?

    • Папа Женя пишет:

      Точно не знаю, кажется я с этим не экспериментировал.

      Думаю, можно попробовать поиграться с записью

      $placement = 'bottom=5,right=5'

      в начале скрипта. Если там поставить 'top=5,left=5' оно переместится в верхний левый угол? Если да, то значит этим параметром можно двигать надпись по всей области картинки.

  6. точа пишет:

    Спасибо, но совсем не то :( . Даже не возымело никакого действия

    • точа пишет:

      Нашел вариант кода попроще — он ставит по центру. Вот он —

      130) & ($h > 130) )

      {

      imagecopy ($image, $watermark, (($w/2) — ($ww/2)), (($h/2) — ($wh/2)), 0, 0, $ww, $wh);

      }

      // Send the image

      header ('Content-type: image/jpeg');

      imagejpeg ($image,null,95);

      exit ();

      ?>

    • Папа Женя пишет:

      Нужно лучше в php разбираться. Я, к сожалению, не силен.

Leave a Reply to точа