Autor Zpráva
tohoneznas
Profil *
Dobrý večer,
rád bych se zeptal jestli někdo nemá bližší zkušenosti s tím jak vytvořit vodoznak. Hodně jsem googlil a něco jsem našel, dokonce mi i fungovalo, ale úplně nejradši bych byl, kdyby existovala možnost jak přepsat původní soubor což se mi nepovedlo. Nerad bych nakonec přistoupil na kompromis, že na webu se bude pouze zobrazovat a do stejných fotek které potřebuji ochránit vodoznakem jej budu přidávat nějákým programem. I když bych mohl fotku opatřit vodoznakem před uploadem pořád mi to přijde nepraktické. Ví někdo o způsobu jak vodoznak přímo zapsat do fotky?

Děkuji za odpovědi a Vaše zkušenosti.
lionel messi
Profil
tohoneznas:
Vo všeobecnosti je vhodné mať poruke aj originál, pretože fotka s vodotlačou je znehodnotená. Dobrý návod má na svojom blogu Jakub Vrána: Vodotisk.
tohoneznas
Profil *
Jsem opravdu nezkušený php programátor samouk a konkrétně z tohoto jsem vůbec nepochopil kam vložím ty obrázky... Poradil by mi prosím někdo jak by měl výsledný kód vypadat? Mimochodem článek jsem už četl a z tohoto důvodu už jednou odsunul...


$img = imagecreatefromjpeg('upload/3_img0.jpg');
$watermark = imagecreatefrompng('upload/logo.png');

$imagesize_watermark = getimagesize($watermark);
if ($imagesize_watermark && $imagesize_watermark[2] <= 3) {
    $img_watermark = ($imagesize_watermark[2] == 2 ? imagecreatefromjpeg($watermark) : ($imagesize_watermark[2] == 1 ? imagecreatefromgif($watermark) : imagecreatefrompng($watermark)));
    imagecopymerge($img, $img_watermark, imagesx($img) - $imagesize_watermark[0] - 5, imagesy($img) - $imagesize_watermark[1] - 5, 0, 0, $imagesize_watermark[0], $imagesize_watermark[1], 50);
}

nebo myslel jsem si, že vím, ale píše upozornění: Warning: getimagesize() expects parameter 1 to be string, resource given in C:\xampp\htdocs\vodo.php on line 21
takže sem to tam přepokládám nevložil správně...
Fisir
Profil
Reaguji na tohoneznase:
Upozornění píše, že funkce getimagesize() očekává jako vstup řetězec. Kdybys otevřel dokumentaci, zjistil bys, že ten řetězec má být cesta obrázku. Což proměnná $watermark není.
tohoneznas
Profil *
Děkuji to jsem už napravil:
<?php
$img = imagecreatefromjpeg('upload/3_img0.jpg');
$watermark = 'upload/logo.png';
 
$imagesize_watermark = getimagesize($watermark);
if ($imagesize_watermark && $imagesize_watermark[2] <= 3) {
    $img_watermark = ($imagesize_watermark[2] == 2 ? imagecreatefromjpeg($watermark) : ($imagesize_watermark[2] == 1 ? imagecreatefromgif($watermark) : imagecreatefrompng($watermark)));
    imagecopymerge($img, $img_watermark, imagesx($img) - $imagesize_watermark[0] - 5, imagesy($img) - $imagesize_watermark[1] - 5, 0, 0, $imagesize_watermark[0], $imagesize_watermark[1], 50);
}
?>
Nic nedělá ani nepíše chybu.
mimochodec
Profil
tohoneznas:
Co je cílem těch podmínek na 6. řádku?
tohoneznas
Profil *
To nevím je to kód převzatý ze stránky, která mi tady byla doporučena... Vlastně by vůbec neuškodilo, kdyby tam pan Vrána i napsal do poznámek, co kterým příkazem dělá. Ale když mi to někdo doporučil tak mu funguje a rozumí tomu ne? Prosím smutně koukám. Já tomu totiž rozumím opravdu málo...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: