Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 06.12.2011, 13:11   #1
Эксперт
 
Аватар для Kaif
 
Регистрация: 12.03.2007
Адрес: Новосибирск
Сообщений: 1,000
Вес репутации: 269
Kaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущее
Отправить сообщение для Kaif с помощью ICQ
По умолчанию Водяной знак на WordPress (вопрос по скрипту)

использую скрипт для наложения водяных знаков (картинкой) вот этот: http://n-wp.ru/4635

Скрипт радует, все ок. Но есть нюанс. Как сделать чтобы на миниатюры не накладывались водяные знаки?

Т.е. как ограничь по размерам наложение водяных знаков.
Спецы подскажие плз.

Код:
Цитата:
<?

waterMark($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'], "watermark3.png", "bottom=0,right=0");

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($watermar k));
$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;
}

?>
Kaif вне форума   Ответить с цитированием
Старый 06.12.2011, 13:29   #2
Bannеd
 
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 369
Последний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущее
По умолчанию

Цитата:
Сообщение от Kaif Посмотреть сообщение
Как сделать чтобы на миниатюры не накладывались водяные знаки?

Т.е. как ограничь по размерам наложение водяных знаков.
Спецы подскажие плз.
сравнить $info_o[0] и $info_o[1] с шириной и высотой изображения, если они меньше предельных значений, то остановить обработку. т.е. надо отредактировать строчку
Цитата:
Сообщение от Kaif Посмотреть сообщение
if( ($info_o[0] > 250) && ($info_o[1] > 250) )
заменив 250 на нужные пределы.
Последний Герой вне форума   Ответить с цитированием
Старый 06.12.2011, 20:02   #3
Эксперт
 
Аватар для Kaif
 
Регистрация: 12.03.2007
Адрес: Новосибирск
Сообщений: 1,000
Вес репутации: 269
Kaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущееKaif - прекрасное будущее
Отправить сообщение для Kaif с помощью ICQ
По умолчанию

Цитата:
Сообщение от Последний Герой Посмотреть сообщение
сравнить $info_o[0] и $info_o[1] с шириной и высотой изображения, если они меньше предельных значений, то остановить обработку. т.е. надо отредактировать строчку
Цитата:
Сообщение от Последний Герой Посмотреть сообщение
заменив 250 на нужные пределы.

Спасибо! Выручил!!!

Всем советую этот скрипт!
Kaif вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть вопрос по скрипту. Кто понимает в настройках сервера? php.ini ... Deadman_n Курилка 6 31.10.2011 13:28
Водяной знак в фотошопе denkart Курилка 4 23.05.2011 11:14
По скрипту от Wink Rorschach Вопросы от новичков 3 10.06.2010 13:32
Нужен совет по скрипту... Globalzru Курилка 12 10.05.2009 14:19
Водяной знак на видео flv alexr Курилка 1 22.10.2008 15:51


Часовой пояс GMT +3, время: 17:25.