Перейти к содержимому


Растягиваем водяной знак на фото товара


  • Вы не можете ответить в тему
Сообщений в теме: 3

#1 vsupport

    Продвинутый пользователь

  • Администраторы
  • 758 сообщений
Репутация: 31
Ассистент

Отправлено 21 June 2011 - 11:53 AM

Для начала - "Как наложить водяной знак?"
1. Заходим в панель администратора.
2. Настройки -> Общие настройки
3. Настройки фотографий
Изображение

1.Ставим галочку на пункт:
Накладывать на загружаемые фотографии копирайт-картинку(водяной знак)
2.Копирайт-картинка(водяной знак)
Укажите изображение находящееся в папке pictures/, которое будет  использоваться в качестве водяного знака. Например: watermark.png
3.Сохраняем
4.Наложить водяной знак на все фотографии

Далее увеличиваем картинку водяного знака:Ищем файл functions/picture_functions.php Там вам нужна функция function Renderwatermark($tempname) В этой функции видим строку:
asido::watermark($i, 'pictures/'.CONF_WATERMARK_IMAGE, ASIDO_WATERMARK_BOTTOM_RIGHT, ASIDO_WATERMARK_SCALABLE_ENABLED);
ASIDO_WATERMARK_BOTTOM_RIGHT - означает вывод ватермарка снизу справа. Вы можете настроить на свой вкус местоположение. Вот возможные значения:
ASIDO_WATERMARK_TOP_LEFT
ASIDO_WATERMARK_TOP_CENTER
ASIDO_WATERMARK_TOP_RIGHT
ASIDO_WATERMARK_MIDDLE_LEFT
ASIDO_WATERMARK_MIDDLE_CENTER
ASIDO_WATERMARK_MIDDLE_RIGHT
ASIDO_WATERMARK_BOTTOM_LEFT
ASIDO_WATERMARK_BOTTOM_CENTER
ASIDO_WATERMARK_BOTTOM_RIGHT
Теперь что касается размера ватермарка. Мы видим там слово ASIDO_WATERMARK_SCALABLE_ENABLED - это означает что ватермарк может менять свой размер относительно размера рисунка. Поумолчанию коеффициент корректировки равен 0.25
Вы можете запретить изменение размера ватермарка, вместо ASIDO_WATERMARK_SCALABLE_ENABLED указав ASIDO_WATERMARK_SCALABLE_DISABLED, либо вы можете изменить коэффециент корректировки таким образом(Вместо 0.75 любой свой конечно же.):
после ASIDO_WATERMARK_SCALABLE_ENABLED пишем ", 0.75", чтобы получилось следующее:
asido::watermark($i, 'pictures/'.CONF_WATERMARK_IMAGE,  ASIDO_WATERMARK_BOTTOM_RIGHT, ASIDO_WATERMARK_SCALABLE_ENABLED, 0.75);

источник


  • 0

#2 markell

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 108 сообщений
Репутация: 22
Ассистент

Отправлено 26 July 2011 - 09:27 AM

Вопрос, а как можно реализовать водяные знаки равномерно по всему изображению сверху вниз (с коэф. 0,25). Пример вот на fotolia.com
  • 0

#3 markell

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 108 сообщений
Репутация: 22
Ассистент

Отправлено 26 July 2011 - 11:52 AM

Я сам решил вопрос. В файле functions/picture_functions.php меняем функцию function Renderwatermark($tempname, $folder) на приведенную ниже:

function Renderwatermark($tempname, $folder)
{

include_once ('core/asido/class.asido.php');
asido::driver('gd');

if (CONF_PUT_WATERMARK && file_exists("data/".CONF_WATERMARK_IMAGE))
{
$i = asido::image($folder.$tempname, $folder.$tempname);
asido::watermark($i, "data/".CONF_WATERMARK_IMAGE, ASIDO_WATERMARK_BOTTOM_CENTER, ASIDO_WATERMARK_SCALABLE_ENABLED, 0.25);
asido::watermark($i, "data/".CONF_WATERMARK_IMAGE, ASIDO_WATERMARK_TOP_LEFT, ASIDO_WATERMARK_SCALABLE_ENABLED, 0.25);
asido::watermark($i, "data/".CONF_WATERMARK_IMAGE, ASIDO_WATERMARK_TOP_CENTER, ASIDO_WATERMARK_SCALABLE_ENABLED, 0.25);
asido::watermark($i, "data/".CONF_WATERMARK_IMAGE, ASIDO_WATERMARK_TOP_RIGHT, ASIDO_WATERMARK_SCALABLE_ENABLED, 0.25);
asido::watermark($i, "data/".CONF_WATERMARK_IMAGE, ASIDO_WATERMARK_MIDDLE_LEFT, ASIDO_WATERMARK_SCALABLE_ENABLED, 0.25);
asido::watermark($i, "data/".CONF_WATERMARK_IMAGE, ASIDO_WATERMARK_MIDDLE_CENTER, ASIDO_WATERMARK_SCALABLE_ENABLED, 0.25);
asido::watermark($i, "data/".CONF_WATERMARK_IMAGE, ASIDO_WATERMARK_MIDDLE_RIGHT, ASIDO_WATERMARK_SCALABLE_ENABLED, 0.25);
asido::watermark($i, "data/".CONF_WATERMARK_IMAGE, ASIDO_WATERMARK_BOTTOM_LEFT, ASIDO_WATERMARK_SCALABLE_ENABLED, 0.25);
asido::watermark($i, "data/".CONF_WATERMARK_IMAGE,ASIDO_WATERMARK_BOTTOM_RIGHT, ASIDO_WATERMARK_SCALABLE_ENABLED, 0.25);
$i->save(ASIDO_OVERWRITE_ENABLED);
}
}
  • 0

#4 hedhedhed

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 107 сообщений
Репутация: 4
Начинающий

Отправлено 12 September 2015 - 01:55 PM

Решение корявое. Если нужно наложить на small и big изображения, то получается, если картинка маленькая - ватермарки налезают друг на друга, получается каша, если картинка сильно большая, то ютятся по углам, иногда даже не попадая на изображение.

Есть ли какое-то решение, чтобы (как вариант) сделать на small и на big разные исходники watermark'а ?
Или чтоб один watermark автоматически ужимался/растягивался на разное кол-во % под разные размеры исходных картинок (это, как мне кажется сделать сложнее...).
  • 0