The problem with PHP JPG rotation, is that it is NOT a lossless operation. That means that an already-compressed JPG file that you uploaded, will need to be re-compressed as JPG after it's rotated. Your images will suffer from quality degradation (double JPG compression), and I really don't like the idea of that, and I think website-owners should avoid this at all cost ...
especially since X3 is for photographs, where you want to maintain optimal quality for all images.
Neither PHP
GD or
Imagemagick supports lossless rotation.
https://bugs.php.net/bug.php?id=25303
http://www.imagemagick.org/discourse-se ... php?t=5899
Therefore, regardless of what you think about our previous explanations, I am not quite sure what you suggest we do. We can add an online rotate button, but each time you click rotate, the visual quality of your image will degrade. Is this acceptable to you? It is simply not something we will recommend to most users, who are photographers.
There is no other self-hosted website application that can rotate images without quality degradation. You can do it in Flickr, Picasa and other image-hosting services, simply because they have their own servers and can use programs that manage to rotate without degrading image quality.
Yes, we will look into adding a rotate button in the X3 panel. But
no, we will not recommend it to be used. In fact, we will have to place a red warning with the controls, to alert the user that rotating an image will lead to quality degradation.
I am curious at this day and age though, how come your images are not already rotated correctly? All modern devices and cameras should rotate the image according to how the photo was taken. The only cases I hear about with images not rotated, is for some old Android devices, which store the rotation in EXIF instead of actually rotating the image correctly. There is already an auto-rotation-corrector option when you upload images from X3, but it has to be done in the "upload process", since then you will avoid double JPG-compression as the rotation and resize is handled in a single process.
We are more than willing to find better solutions, but unless you have any helpful suggestions, we are not magicians.