Próbowałem zwykłym imagecopy() lecz ten wstawia biały kolor w przezroczyste pixele ;/.
Pozdrawiam

function Watermark($photo) { switch ($size["mime"]) { case "image/jpeg": $image = imagecreatefromjpeg($photo); break; case "image/png": $image = imagecreatefrompng($photo); break; default: return false; break; } $watermark = imagecreatefrompng('images/wathermark.png'); $width = imagesx($image); $height = imagesy($image); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); $margbot=0; $margleft=0; imagecopymerge($image, $watermark, (($width - $width)) + $margleft, (($height - $watermark_height)) - $margbot, 0, 0, $watermark_width, $watermark_height,70); // tu rożnica pomiedzy imagecopy() a imagecopymerge() jest ostatni parametr switch ($size["mime"]) { case "image/jpeg": imagejpeg($image, $photo); break; case "image/png": imagepng($image, $photo); break; default: return false; break; } imagedestroy($image); imagedestroy($watermark); }