imagejpeg($image, $destination_url, $quality);

Resim türü ne olursa olsun jpg formatında kaydettiğiniz için şeffaflığı gidiyor olabilir.
Bu kodun üstündeki gibi format kontrolü yapıp, formatına özel fonksiyonu kullanırsanız düzelir diye düşünüyorum.

jpg = imagejpeg()
png = imagepng()
gif = imagegif() - bu fonksiyonun kalite parametresi yok.