Look into the [man]GD[/man] Library that comes with PHP. It's not enabled by default, but most hosts have it enabled. You might not be able to modify the colors, but you might be able to add your own things to it.
While you can't do a lot with GD (it's very limited, but good for what it does) ImageMagick, if available on your server, is definately a better tool to use. It's very robust in features, and you really can do almost anything with ImageMagick you might do in Photoshop on an average day. Just look at their examples. Really an extraordinary extension.
The upload stuff can be done straight through a form too. No need to use the ftp functions (which might slow it down). Unless you anticipate people uploading over 2MB photos (which they may, not sure of your target audience) then a form would be just fine. Otherwise, you may have to use the FTP functions, but still, through a form with a size-limit. There are ways around: ini_set, HTML max-filesize tags. So you'd just upload it, modify the image as you see fit while it's in the temp direcotry (default upload directory for any file) and then when you're done, just move it from it's temp directory to it's permanent location. Then, of course, CHMOD it to 644 so you can work with it through FTP.