Autor Zpráva
Chuchycek
Profil
Ahoj,
chtěl bych se zeptat v čem dělám chybu, mám tuto funkci, ve které chci změnit velikost obrázku a přidat do něj vodotisk, jenže se mi to ukládá všechno hrozně přesvětlený.

function watterMark($SourceFile, $DestinationFile, $watterMark, $width = "320") {
    list($widthImage, $heightImage) = getimagesize($SourceFile);
    list($widthWatterMark, $heightWatterMark) = getimagesize($watterMark);

    $pomer = $widthImage / $width;

    $newWidthImage = (int) ($widthImage / $pomer);
    $newHeightImage = (int) ($heightImage / $pomer);

    $imageNew = imagecreatetruecolor($newWidthImage, $newHeightImage);
    $image = imagecreatefromjpeg($SourceFile);
    imagecopyresampled($imageNew, $image, 0, 0, 0, 0, $newWidthImage, $newHeightImage, $widthImage, $heightImage);

    $watterMarkNew = imagecreatetruecolor($newWidthImage, $newHeightImage);
    imagealphablending($watterMarkNew, false);
    imagesavealpha($watterMarkNew, true);
    $watterMark = imagecreatefrompng($watterMark);
    imagecopyresampled($watterMarkNew, $watterMark, 0, 0, 0, 0, $newWidthImage, $newHeightImage, $widthWatterMark, $heightWatterMark);

    imagecopymerge($imageNew, $watterMarkNew, 0, 0, 0, 0, $newWidthImage, $newHeightImage, 35);
    imagejpeg($imageNew, $DestinationFile, 100);

    imagedestroy($imageNew);
    imagedestroy($watterMarkNew);
    imagedestroy($watterMark);
}

Díky
Virtus
Profil
S obrázky zkušenost nemám, ale možná by ti pomohlo tohle: http://php.vrana.cz/vodotisk.php
Chuchycek
Profil
Toto od Vrány jsem viděl. Ale už jsem to vyřešil, nahradil jsem vkládaný typ vodotisku png za gif a jde to bez problému. Přesto díky
Virtus
Profil
Přesně o tomhle problému s formáty je na zmiňované stránce řeč v komentářích, konkrétně: zde a ve zkratce z komentářů vyplívá, že je řešením nahradit funkci imagecopymerge() za imagecopy()
Chuchycek
Profil
Komentáře jsem jen letmo prolétl, ale asi jsem to přehlédl...

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: