ultranerds — 2014-07-09T02:50:07-04:00 — #1
I've got a REALLY weird issue. In 14 years of web development, I've never seen this. Please see the below page:
If you scroll down to the photos, look at the 5th one (the bathroom mirror). As you can see - its sideways! However, the image itself is fine:
Some are even worse - and rotated 180 degrees!
What could cause this? I'm drawing a blank on it. The only stuff I've found online so far, is about the iPad/iPhones, who treat image rotation Exif data differently... but this is occuring in Chrome, FF and Safari for me... so I'm wondering if it goes deeper than that.
I also looked into the possibility that maybe a CSS rule was doing the rotation, but I can't see anything :/
ultranerds — 2014-07-10T02:21:51-04:00 — #2
Mmm ok - so after some more digging, I'm still no closer
Here is a test page, where you can see those images:
I'm absolutely baffled as to why this is happening. Anyone got any ideas?
mittineague — 2014-07-10T02:55:09-04:00 — #3
That is bizarre.
Except for the one that's rotated a full 180 degrees, I would guess the script that is scaling the images is responsible.
If you make a test page with just img tags and no script are they still rotated?
ultranerds — 2014-07-10T03:00:41-04:00 — #4
Thanks for the reply! Yeah, well the JSFiddle literally has no scripts - its just basic HTML:
<img src="http://chambresorgslides.ereserveltd.netdna-cdn.com/links/images/0/xlarge-549510-image.jpg" />
<img src="http://www.chambresdhotes.org/links/images/0/xlarge-549510-image.jpg" />
At first, I thought maybe it was the CDN causing the issues (using maxcdn), but even with the local file its having the same issue.
We do pass the original images via
jpgtran to optimize them, and also image::magick's
convert command to shrink them down. But that being said, I would have expected the image here to be sideways as well, if that were the cause:
I'm really at a loss as to what could be causing it :/
mittineague — 2014-07-10T03:20:45-04:00 — #5
I saved a copy of the 549510 image and checked it's properties.
Even though it displays in "portrait" orientation (right side up) it has
Width 600 pixels
Height 448 pixels
which seems opposite.
ultranerds — 2014-07-10T04:06:23-04:00 — #6
Yeah, its really bizarre :/ I'm sure it can't be a jpgtran issue, as that doesn't do anything with orientation - and imagemagick, I'm sure it can't be that doing it either - as I've been using that for 10+ years, and never had a problem like this
Its driving me up the wall :S
rubble — 2014-07-10T05:29:49-04:00 — #7
What imagemagick command are you using?
john_betong — 2014-07-10T07:05:20-04:00 — #8
I downloaded and opened the following image using Linux's Gimp editor and informed me that the Exif orientation was incorrect.
The option to correct the orientation was selected, file saved to a different file name, opened in a HTML file and the orientation was correct.
ultranerds — 2014-07-10T08:12:10-04:00 — #9
Thanks for the reply everyone. This is the command:
convert "$uploaddir/$temp_id/$filename" -resize 1000x1000\\> "$uploaddir/$temp_id/$filename"`
Basically, converting the uploaded image into a max size of 1000x1000. People on our site have a habit of uploading 5000x5000 pics, and they kill disk space!
I can't see how that command could be breaking it though?
I'm also not sure we could correct the Exif programmatically, by detecting the issue at source? (its entirely possible the user had a bad file they uploaded too!)
rubble — 2014-07-10T12:41:37-04:00 — #10
As you say that command should not cause a problem.
I'm also not sure we could correct the Exif programmatically, by detecting the issue at source?
How will you know which file is correct and which is wrong?
It seems a bit strange to use jpgtran and Imagemagick, I suppose you do not have the original photo if it is being uploaded by the user? Could you ask the photo uploader to send you the photos via email so you could carry out some tests as anything else is speculation.
ultranerds — 2014-07-10T13:16:01-04:00 — #11
How will you know which file is correct and which is wrong?
My thoughts exactly
It seems a bit strange to use jpgtran and Imagemagick,
I'm using jpgtran to remove exif headers we don't need - as we had images that were 100kb for a 100x100 image (due to having a ton of location, meta, etc etc, which was useless to us) ... then we do the resize into the respective sizes we need
I suppose you do not have the original photo if it is being uploaded by the user? Could you ask the photo uploader to send you the photos via email so you could carry out some tests as anything else is speculation.
Already ahead of ya Just waiting to hear back from them.
rubble — 2014-07-10T13:24:00-04:00 — #12
Just out of interest -thumbnail will remove all the file data except the colour profile as will -resize wxh -strip and would save you one step. Although not very helpful if there is some data you want to keep.
mittineague — 2014-07-10T13:29:30-04:00 — #13
Ugh! The only thing I can think of is copying the images and saving them with a known EXIF
Not the best idea and a definate maintenance nightmare.
Hopefully going with an email solution will buy you enough time to get it automated by the time you need to.
ultranerds — 2014-07-10T14:13:10-04:00 — #14
Ah cool - Is that a simple case of just replacing "resize" with "thumbnail" ? That would certainly help from a programing point of view, as it means I wouldn't need to run jpgtran as well
Yeah for sure TBH, its not happening on a ton of images - but it is getting more common. It'll be interesting to see if the original image has the same issue (if so, then it could be something to do with the device it was taken on, in which case we'll just have to fix them up as we find them - which would be a sod)
Thanks for looking so far though!
rubble — 2014-07-10T14:23:40-04:00 — #15
Ah cool - Is that a simple case of just replacing "resize" with "thumbnail" ?
On my gallery I use a database and get any EXIF data I need from the image before resizing it with -thumbnail.
ultranerds — 2014-07-10T14:25:01-04:00 — #16
Ah brill, I'll have to give that a go tomorrow Doubt it'll help with this issue, but its handy to know for optimizing
ultranerds — 2014-08-09T08:14:54-04:00 — #17
Sorry I took so long to get back on this. For some reason, the person didn't reply to my email asking for the original! Anywho, on a totally different job - I just came across the same problem.
I'm pretty sure its an iOS issue - but I'm not too sure why it happens. Any suggestions would be much appreciated
BTW - I'm hoping it comes out ok (I didn't do any resizing, but it looks like the forum may well have - as the original was 1mb, not 250kb, as is showing here)