class.upload.php is a powerful and mature PHP class to manage uploaded files, and manipulate images in many ways. The script is available under a GPL license.
more info about the class
And no, the class cannot retrieve remote images, but you can retrieve the file first, before using the class on it locally.