How to allow users to rotate a picture upon upload? On my site, users are able to upload images one at a time as nodes of content type Picture.  The Picture content type uses the core (D7) image field.

Some of my users have pictures which are taken such that they need to be rotated 90 or 180 degrees.  These users do not have easy access to image editing software, so I'd like to allow users to rotate the image on the edit node screen.

After the image is saved, I want to apply an image style (that forces scaling and cropping, etc.)  I'm also using the Manual Crop module to allow users to crop the image if necessary.

Is there a module for this, or some easy way to do it in code?  (I'm not a developer.)

I would prefer to have a solution where I can present users with a button to rotate the picture; I don't want to give them a full image editor.

If such a solution is impossible, is there an easy way to rotate the images on the back end (for admins)?  I'm happy to do it myself, as I have to check all the images anyway.
I've been fighting this issue for some hours now and have something that seems to work for me. It's not extensively tested yet, though.

My setup:


ImageMagick instead of GD as Image Toolkit (because GD strips EXIF data)
Imagecache Autorotate, part of [Imagecache Actions](Imagecache Autorotate) that provides an Image Action that automatically rotates pictures according to their EXIF orientation
EPSA Crop module: EPSA crop was the only cropping module that allowed me to use its after the Autorotate action in my image style preset (I tried at least with manualcrop, imagefield_crop, simplecrop)


In my image style I use the following actions:


Autorotate Autorotate image based on its EXIF data
EPSA Image Crop, 150x150 (with Aspect Ratio of one, as the resulting image has a square AR)
Scale and Crop, 150x150, scale and crop it even if it wasn't manually cropped.


Only drawback so far:
EPSA Crop doesn't show you the cropped image on the thumbnail of the edit page, so users might be confused if their cropping was successful after all.

Hope this helps others saving some hours of research.