Witam, napisałem kiedyś taką funkcję do tworzenia znaku wodnego, teraz znowu mi się przydałaby ale mam problem. Ustawiam tam przezroczystość (chodzi ok), ale jak już ustawiam w % odległość znaku od krawędzi x i y to już nie bardzo działa. Jeżeli wlepiam obrazy o różnych kształtach (większa szer. niż dł lub odwrotnie) to już się sypie, ucina albo jeszcze coś innego ;/
function znak_wodny($obrazek, $docelowy) {
$przezroczystosc = 45;
$x = 60;
$y = 85;
$nakladany = "../images/znak3.gif";
if($rozszerzenieObraz == "png") $obraz = imagecreatefrompng($obrazek);
elseif($rozszerzenieObraz == "jpg") $obraz = imagecreatefromjpeg($obrazek);
elseif($rozszerzenieObraz == "gif") $obraz = imagecreatefromgif($obrazek);
else return;
if($rozszerzenieNakladany == "png") $obrazN = imagecreatefrompng($nakladany);
elseif($rozszerzenieNakladany == "jpg") $obrazN = imagecreatefromjpeg($nakladany);
elseif($rozszerzenieNakladany == "gif") $obrazN = imagecreatefromgif($nakladany);
else return;
$obraz_x = imagesx($obraz);
$obraz_y = imagesy($obraz);
$obrazN_x = imagesx($obrazN);
$obrazN_y = imagesy($obrazN);
$odleglosc_x = round((0
.01
*$x)*$obraz_x, 0
); $odleglosc_y = round((0
.01
*$y)*$obraz_y, 0
);
imagesavealpha($obrazN, true);
imagecopymerge($obraz, $obrazN, $odleglosc_x, $odleglosc_y, 0, 0, $obrazN_x, $obrazN_y, $przezroczystosc);
if($rozszerzenieObraz == "jpg") imagejpeg($obraz, $docelowy);
else imagepng($obraz, $docelowy);
imagedestroy($obraz);
imagedestroy($obrazN);
}
Wywołanie
createThumbnail($sciezka, $sciezka_normalny, 700); //pomniejszam obraz na ktory naloze znak
znak_wodny($sciezka_normalny, $sciezka_normalny); //nakladam znak