Здравствуйте. Подскажите, пожалуйста. Есть watermark, на фотографии с горизонтальной ориентировкой накладывает изображение на ура. Но если фото вертикальная, watermark накладывается также как и на горизонтальную, и получается так, что первые и последние буквы Watermark`а не вмещаются... Можно ли исправить? Вот код: PHP: <? waterMark($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'], "watermark.png", "top=20,center="); function waterMark($original, $watermark, $placement = 'middle=5, center=50', $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]); 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, NULL, 100); break; case 3: imagePNG($out); break; } imageDestroy($out); imageDestroy($original); imageDestroy($watermark); return true; } ?>
По-русски это водной знак. Это общепринятый термин и используется уже туеву кучу лет. По поводу вопроса. Нифига у тебя широкий водяной знак, аж в картинку не влазит! Меняй. Так быть не должно. Он должен быть, конечно, но мелкий и слабо заметный. Люди ходят видить картинку, а не твои знак на, наверняка, тыренной фотке. Но если уж. Смотри ширину картинки, если она меньше водяного знака, то уменьшай знак. Если больше - не трогай.
Фото все уникальные это по поводу - "тыренной фотке". Для того и нужен мне знак. Во-вторых с чего взяли, что он жирный и портит фото? И в третьих вопрос в том, можно ли уменьшить "водяной знак" скриптом, если фото будет с вертикальной ориентировкой?
Он не влезает в вертикальную фотографию. Следовательно, слишком здоровый. Фото же вы уменьшаете. Можно и знак уменьшить. Но лучше уменьшать его не программно, а самому. Фоток ного - понятно, что их руками уменьшать глупо. Но знак-то один и сделать несколько вариантов (большой, средний, мелкий) несложно. Зато качество не пострадает. Тут вопрос насколько свои. Вообще изначально неверно задан вопрос. Приведите пример водяного знака, фотографий и их мелких копий. Не надо сами фотографии, нужны размеры. А то, походу, мы говорим об одном, вы - о другом.