Stworzyłem funkcję do tego aby na zdjęcia zostały nakładane znaki wodne. Mam problem ze znakiem wodnym który jest w formacie png. Gdy zdjęcie jest w formacie jpg to znak wodny w png nie wygląda tak jak należy, poprostu mieszają się jakby kolory. Co zrobić aby logo ze znakiem wodnym w png był prawidłowo nakładany na różnego formatu zdjęcia? Poniżej moja funkcja:
switch($size["mime"]){ case "image/jpeg": $image = imagecreatefromjpeg($photo); //jpeg file break; case "image/gif": $image = imagecreatefromgif($photo); //gif file break; case "image/png": $image = imagecreatefrompng($photo); //png file break; default: return false; break; } $watermark = imagecreatefrompng('files/znak_wodny.png'); $width = imagesx($image); $height = imagesy($image); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); imagecopymerge($image, $watermark, (($width - $watermark_width))-10, (($height - $watermark_height))-10, 0, 0, $watermark_width, $watermark_height, 60); switch($size["mime"]){ case "image/jpeg": imagejpeg($image, $photo); //jpeg file break; case "image/gif": imagegif($image, $photo); //gif file break; case "image/png": imagepng($image, $photo); //png file break; default: return false; break; } //imagejpeg($image, $photo); //zapisuje obrazek juz ze znakiem wodnym imagedestroy($image); imagedestroy($watermark); }