Possibly only supporting 90, 180 and 270 degrees.
It's possible to flip the image pixels, which is not exactly a rotation, but could solve your case:
-Ex-F means resize the image to be ExF of width per height size. The minus signs mean flip horizontally and vertically;
So if you do http://my-server.thumbor.org/unsafe/-300x-200/image.jpg it will flip image pixels on the x and y axis, which is what rotate 180 does.
But yeah, besides that, 90 and 270 degrees are not supported right now.
Right now we use Carrierwave but I'd like to move towards generating images on the fly and was considering Thumbor.
I like the 90 degree increment option. When you move into any degree then you have to take into account whether you expand the bounding box of the image or clip.
The problem with this is that we'd have to take into account that rotating has to come before anything is done with the image.
Thumbor has a "contract" with the users that if you ask it for a 300x200 image, you'll get a 300x200 image.
If rotating is done after cropping and resizing, we'd return a 200x300 image, which is not what the user expected.
Other than that this is really simple to implement. Anyone want to tackle it? The main issue here is actually implementing the sintax in the libs (libthumbor, rubythumbor, phumbor, polexor, etc).
I'd also love to see a rotate option (90 degree increments). I created a bounty for this feature over on Bountysource. Hopefully some others who also want this feature will add to the bounty!
This can be easily implemented as a filter: rotate(90). Then no changes to the libs need to be done.
Adding support to rotate filter (fix #141)
Just to let everyone know, this is live in Release 4.3.0.