#1 2011-01-16 19:56

shok
Пользователь

Копирайт на фото товара

Всем прювет!подскажите плиз прогу на сайт - чтобы автоматом ставился водяной знак на фотки.Магазин на базе WebAsyst

Неактивен

 

#2 2011-01-20 22:21

uretz
Пользователь

Re: Копирайт на фото товара

Зачем прога, все уже есть в поставке.

Находиь файл
\published\SC\html\scripts\core_functions\picture_functions.php
а в нем код

Код:

 
             //Future add watermark
        $watermark_file = DIR_IMG.'/watermark.png';
        if(false&&$watermark_file && file_exists($watermark_file)){
            $dst_img = $this->addWatermark($dst_img,$watermark_file,$position, $alpha_level);

это разрабы видимо на будущее оставили. Выбиваешь чопик в виде первого false в условии

Код:

        if($watermark_file && file_exists($watermark_file)){

далее кладешь файл watermark.png в published\publicdata\S3BASE\attachments\SC\images\
Теперь при добавлении картинок в админке будет накладываться ватермарка.

Еще по форуму поищи, там куча разных советов.

зы. там есть бага. Если картинка такого же размера как и результирующая (3 вида размеров в настройке), то ватермарка не наложится. Для обхода забей строчки

Код:

        if($width == $src_width){//skip image resize
            if(($file!=$destination_file)&&!copy($file, $destination_file)){
                return PEAR::raiseError('Error write image', 1);
            }
            return null;
        }

Отредактировано uretz (2011-01-20 22:26)

Неактивен

 

#3 2011-01-20 22:31

shok
Пользователь

Re: Копирайт на фото товара

СПС))))))

Неактивен

 

#4 2011-01-24 23:31

cezario
Пользователь

Re: Копирайт на фото товара

а для особо одаренных мона поподробней )))

Неактивен

 

#5 2011-01-26 20:42

cezario
Пользователь

Re: Копирайт на фото товара

ap

Неактивен

 

#6 2011-01-26 21:47

Strogin
Пользователь

Re: Копирайт на фото товара

Не работает! ;-(

Неактивен

 

#7 2011-01-27 01:43

MasterCo
Пользователь

Re: Копирайт на фото товара

получилось, но криво. Налаживается картинка только на маленькое фото в товаре, а при увеличении фото налаживания нет. Как сделать наоборот? Может причина в выше описанном баге, только не понятно что сделать нужно

Отредактировано MasterCo (2011-01-27 01:47)

Неактивен

 

#8 2011-01-27 01:53

Strogin
Пользователь

Re: Копирайт на фото товара

У меня вообще никак не показывается картинка. Делал как написано.

Неактивен

 

#9 2011-01-27 02:03

MasterCo
Пользователь

Re: Копирайт на фото товара

Strogin написал:

У меня вообще никак не показывается картинка. Делал как написано.

ватермарк накладывается только при заново залитой фото товара и увидеть можно когда просто зайти в товар.

p.s. Есть накладка (кривая по размеру) и на витрине. Нужно обновить кэш

Отредактировано MasterCo (2011-01-27 02:06)

Неактивен

 

#10 2011-01-27 23:11

cezario
Пользователь

Re: Копирайт на фото товара

Не магу зделать сам файл PNG не получается хелп.

Неактивен

 

#11 2011-01-27 23:36

shok
Пользователь

Re: Копирайт на фото товара

support-site.net сделал мне!  Вот пример фото: http://shok.od.ua/published/publicdata/ … G_enl.jpeg кому интересно-дам тётю асю

Отредактировано shok (2011-01-27 23:38)

Неактивен

 

#12 2011-01-28 20:14

cezario
Пользователь

Re: Копирайт на фото товара

Интересно а сикока денег отдал ?

Неактивен

 

#13 2011-01-28 21:15

shok
Пользователь

Re: Копирайт на фото товара

отдал-вменяемо))

Неактивен

 

#14 2011-03-01 16:51

koto
Пользователь

Re: Копирайт на фото товара

Если вы больше не будете добавлять фотографии, то можно воспользоваться программой photowatermark professional
Она может пакетно накладывать водяные знаки, что очень удобно. Если знаете другие способы накладки водяного знака на фото, например, с изменением исходного кода, напишите smile

Неактивен

 

#15 2011-03-01 18:06

Vladislav
Webasyst

Re: Копирайт на фото товара

shok, если не ошибаюсь - сделано реврайтом и водяной знак добавляется динамически на каждую картинку php скриптом при запросе?

Неактивен

 

#16 2011-03-27 04:07

Timmy
Пользователь

Re: Копирайт на фото товара

получилось smile

тока не разобрался куда нужно вписать строки

Код:

if($width == $src_width){//skip image resize
            if(($file!=$destination_file)&&!copy($file, $destination_file)){
                return PEAR::raiseError('Error write image', 1);
            }
            return null;
        }

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

подскажи как сделать плиз

Отредактировано Timmy (2011-03-27 04:09)

Неактивен

 

#17 2011-03-27 20:05

Strogin
Пользователь

Re: Копирайт на фото товара

Я не знаю. Пробовал заливать картинку. Но всё-равно не работает!!!

Неактивен

 

#18 2011-12-02 00:46

DuD
Пользователь

Re: Копирайт на фото товара

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

Код:

published\publicdata\ИМЯ_ВАШЕЙ_БАЗЫ\attachments\SC\images\

Неактивен

 

#19 2011-12-02 09:46

Scorpion
Пользователь

Re: Копирайт на фото товара

Получилось всё, только изображение смазалось, а вот текст нормальный самого watermark.png

Неактивен

 

#20 2012-08-29 17:55

genixxx
Пользователь

Re: Копирайт на фото товара

Ерунду тут автор топика понаписал всякую. Выдает ошибку, никаких ватермарков не накладывает.

Неактивен

 

#21 2013-06-05 13:02

Watcher
Пользователь

Re: Копирайт на фото товара

Все нормально работает. Видимо не все поняли специфические термины, которые использовал uretz в своем решении. Разложу по пунктам:
Свой файл watermark.png кладем в published\publicdata\ИМЯ_ВАШЕЙ_БАЗЫ\attachments\SC\images\
В файле \published\SC\html\scripts\core_functions\picture_functions.php убираем

Код:

        if($width == $src_width){//skip image resize
            if(($file!=$destination_file)&&!copy($file, $destination_file)){
                return PEAR::raiseError('Error write image', 1);
            }
            return null;
        }

В этом же файле меняем

Код:

             //Future add watermark
        $watermark_file = DIR_IMG.'/watermark.png';
        if(false&&$watermark_file && file_exists($watermark_file)){
            $dst_img = $this->addWatermark($dst_img,$watermark_file,$position, $alpha_level);

на

Код:

             //Future add watermark
        $watermark_file = DIR_IMG.'/watermark.png';
        if($watermark_file && file_exists($watermark_file)){
            $dst_img = $this->addWatermark($dst_img,$watermark_file,$position, $alpha_level);

Все, ватермарк должен добавляться.
В функции, я так понял, предполагались настройки различного расположения водяного знака, но они не доделаны. Поэтому, если хотим, чтобы он добавлялся не в правый нижний угол, а в центр изображения, действуем топорно - все в том же файле picture_functions.php меняем

Код:

        if ( $position == 'right' ) {
            $dest_x = imagesx($image) - $width - 5;
            $dest_y = imagesy($image) - $height - 5;
        }else{
            $dest_x = intval(imagesx($image)*0.5) - intval($width*0.5);
            $dest_y = intval(imagesy($image)*0.5) - intval($height*0.5);
        }

на

Код:

            $dest_x = intval(imagesx($image)*0.5) - intval($width*0.5);
            $dest_y = intval(imagesy($image)*0.5) - intval($height*0.5);

Неактивен

 

#22 2014-07-27 19:18

varen
Пользователь

Re: Копирайт на фото товара

Предложенное решение от Watcher действительно работает. Я добавила несколько изменений чтобы водяной знак не отображался на слишком маленьких изображениях:

Все в том же файле: /published/SC/html/scripts/core_functions/picture_functions.php
Находим:

if ( $position == 'right' ) {

Заменяем на:
if (imagesx($image) < ($width + 30)) return $image;
        if ( $position == 'right' ) {

Если после этого изменения водяной знак все равно появляется на маленьких фото, нужно попробовать изменить в этом коде цифру 30 на большую, например 40.
Если водяной знак перестал появляться на средних фото, нужно попробовать изменить в этом коде цифру 30 на меньшую, например 20 либо 10.


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



Если вам нужно сделать водяной знак более прозрачным и блеклым при наложении на фото, нужно изменить код все в том же файле:
В том же файле: /published/SC/html/scripts/core_functions/picture_functions.php
Находим:

function resize($file, $width, $height, $destination_file = null,$watermark_file = null,$position = 'right', $alpha_level = 50)

меняем в этом коде значение $alpha_level = 50  на $alpha_level = 30 либо ниже. Это значение означает уровень прозрачности водяного знака.


Так же находим:
function addWatermark($image,$watermark_file = null,$position = 'right', $alpha_level = 50)

меняем в этом коде значение $alpha_level = 50  на $alpha_level = 30 либо ниже. Это значение означает уровень прозрачности водяного знака.


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

Неактивен

 

Board footer

Powered by PunBB