Skip to content

EncodedOrigin reporting incorrect value #1145

Closed
@smillershout

Description

@smillershout

Description

As a result of all pictures captured on iPhone being in the camera's natural landscape orientation, I'm attempting to rotate these images in order to correct the appearence of non-landscape images. In order to do this, I'm evaluating the EncodedOrigin property on an instance of SKCodec which is associated with the image. Based on the result of the EncodedOrigin, for example, if the result is 'BottomRight' or 'RightTop', I'm rotating the image apporpriately to 'correct' the orientation. Oddly, this worked very well on iOS prior to 13.3. Since 13.3 however, the EncodedOrigin is now returning 'Default' for all images regardless of their orientation.

I was wondering if anybody else had encountered this issue and whether or not there is a resolution?

Thanks,
Sam.

Code

using (var stream = new SKManagedStream(fileStream))
using (var codec = SKCodec.Create(stream))
{
Console.WriteLine("EncodedOrigin = " + codec.EncodedOrigin);
}

Expected Behavior

EncodedOrigin should return correct value based on image orientation on all versions of iOS

Actual Behavior

EncodedOrigin is returning 'Default' regardless of image orientation on iOS 13.3 and above

Basic Information

  • Version with issue: SkiaSharp 1.68.0 and iOS 13.3.1
  • Last known good version: SkiaSharp 1.68.0 and prior to iOS 13.3
  • IDE: Visual Studio 8.4
  • Platform Target Frameworks: Xcode Version 11.3.1
    • iOS: 13.3.1
    • macOS: 10.15.2
  • Target Devices: iPhone plus device. eg. iPhone 7+ and iPhone 8+

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions