Paint (it is a graphic application but it's free, if you have another OS it mostly has a similar program included)
Other server-side languages (ASP, JSP (server-side Java), ...)
You can do it client-side with SVG.
Or server side, with PHP or example, as said Stubru Freak.
Can you tell me something more about the SVG-thing? I know what it stands for and that stuff but I don't know how to use it...
I really prefer not to use images of rotated pictures, because I'd like to use it in a menu an I want the items to be read from a xml-file using some php work... it's kinda long to explain, but I have my reasons for not using applications.
SVG, as you know, is used for describing vector graphics in XML (and allows you to include raster (PNG and JPEG at the very least) in the image).
Basic SVG code, which takes an image 100 pixels wide, 100 pixels tall, and rotates it 90 degrees:
The important part there is the <image> element (the rest is necessary declaration of XML doctype, namespaces etc.). It describes the width, the height, the URL of the image and the transformation to make - in this case, "rotate 90 degrees around an axis placed at (x,y): (50,50).
SVG can be embedded in HTML using the <embed> element (as used for QuickTime, Flash etc.), but that's non-W3C, the <object> element (also as used for QuickTime, Flash etc.), but that's not supported by IE using Adobe's SVG reader, as far as I recall. Or you can add it through IFRAMEs, simply pointing the src of the IFRAME to the SVG file.
I'm sure w3schools.com have a good tutorial on SVG as always
That said, it's not really a viable solution for rotating images client-side. The only browser that supports SVG natively is Firefox 1.5. All other browsers will require a plugin that no non-technical users have installed yet... So, the options:
- CSS doesn't support rotating images, unless you count IE's proprietary CSS filters.
- SVG isn't widely supported. Let's hope it will be soon, because it really is useful.
- Flash. Yep, I hate to admit it, but Flash is probably the best alternative client-side. The user base is large and it's easy to do. If you can live with the side effects.
- Server-side. The one I'd use. All server-based scripting languages have some kind of image library (although it may not be installed). The GD library for PHP (installed on frihost) etc. allows server-side manipulation of images through PHP. You don't need to upload all the rotated images, just rotate a base image on the server and send the result to the browser.
Thank you very much! I'll try the php-tric and see, otherwise I'll use flash.