[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Водяные знаки на изображении
Миша
В дополнение к предыдущему вопросу, как средствами php впечатывать логотип сайта на изображение?

_____________
Принимаю заказы, писать в ЛС
DySprozin
Медведь
ты не поверишь... но средствами графической библиотеки smile.gif gd называется)




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

_____________
Принимаю заказы, писать в ЛС
rooor
гугли php 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]);

//Тут задаем размер изображения в которые можно добавлять Watermark
// $info_o[0] > 250 - ширина изображения должна быть больше 250 px
// $info_o[1] > 250 - высота изображения должна быть больше 250 px


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;
}

?>




_____________
Принимаю заказы, писать в ЛС
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.