imagesavealpha() は PNG 画像を保存する際に(単一色の透過設定ではない)完全な アルファチャネル情報を保存するフラグを設定します。
これを使用するためには、アルファブレンディングを解除する必要があります (imagealphablending($im, FALSE))。
アルファチャネルはすべてのブラウザでサポートされているわけではありません。 ブラウザ上での表示で問題が発生した場合は、アルファチャネルに対応している ブラウザ(例: 最新の Mozilla)でスクリプトを実行しなおしてみましょう。