I have a form wherein the user will be able to provide an image either by:

* uploading it from their computer
* entering the URL of an image on the web

Once the image is provided, the user should be able to select an area of the image to be cropped using a JavaScript control. The cropped image will be resized to have a standard width. I may use an image hosting service (e.g. ImageShack) to store the image online instead of in the local filesystem. So to summarize, the functionality I'm looking for is:

* image area selection (for cropping)
* image resizing
* image hosting service integration

Is there a Grails plugin or Java library that can meet these needs?