I want to enable a user on a website to upload an image, and write some text over it.  Also, they should be able to crop/scale/move the image and text.  For that stuff, I can do it in jQuery.
After they've made the image the way they want it, is there a way i can take a screenshot of that image (using PiL) and save it on the server?
What is the best/proper way to do this?
I assume you got Python on the server side.
The best way imo is to somehow 'get' all the editing parameters from the client, then re-render it using PIL.
Update: How I will do it
On the server side, you need an url to handle posts. 
On the client side, (after each edit, )send a post to that url, with the editing parameters.
I think there is not an easy solution to this.
Maybe if you don't use PIL to render the final image, but only remember the parameters, each view from clients can render itself?
Using PiL to take a screenshot of HTML/CSS