Removing the @ will let you see what's wrong. Either the apppropriate option isn't set, or the gd extension was built without PNG support, or the remote file doesn't exist/can't be downloaded.
To use a file from a remote server, use imagecreatefromstring in conjunction with file_get_contents:
$im = imagecreatefromstring(file_get_contents($imgname));
Note that a URL can be used as a filename with file_get_contents only if fopen wrappers have been enabled.
If this doesn't solve your problem, clarify your question. Give at least the error you're receiving. :)