OK Paul, as it's you you're not required to grovel (much
). Here's a function that returns a correctly oriented image from a digital camera JPEG file:
vb.net Code:
Private Function OrientedImageFromFile(ByVal photoFileName As String) As Image
Dim img As Image = Image.FromFile(photoFileName) 'get the image
Dim pi As Imaging.PropertyItem = Array.Find(img.PropertyItems, _
Function(T As Imaging.PropertyItem) T.Id = &H112) '&H112 = PropertyTagOrientation
Select Case pi.Value(0) 'value is array of Int16
Case 3 : img.RotateFlip(RotateFlipType.Rotate180FlipNone) 'upside-down
Case 6 : img.RotateFlip(RotateFlipType.Rotate90FlipNone) 'rotated right
Case 8 : img.RotateFlip(RotateFlipType.Rotate270FlipNone) 'rotated left
End Select
Return img
End Function
BB