You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ExifTag.TimeZoneOffset is defined as uint[], but the TIFF spec defines it as signed short #2437
As a side note, since ExifTag doesn't have a public constructor, I cannot create my own tags to work around this issue (or to add custom tags to the file).
Steps to Reproduce
Set the DateTimeOffsetTag in a tiff file, then save the file
var image = Image.Load(sourceTifFile);
image.Frames[0].Metadata.ExifProfile = new ExifProfile();
image.Frames[0].Metadata.ExifProfile.SetValue(ExifTag.TimeZoneOffset, new uint[] {1});
image.Save(outputTifFile);
Now run the output tiff file through jhove verification
That looks like a mistake indeed but changing this would introduce a breaking change. But I do wonder if anyone is using this since we implemented this incorrectly. Maybe we could patch this in a minor release and make a note about this minor breaking change in the release notes?
Activity
dlemstra commentedon Apr 14, 2023
That looks like a mistake indeed but changing this would introduce a breaking change. But I do wonder if anyone is using this since we implemented this incorrectly. Maybe we could patch this in a minor release and make a note about this minor breaking change in the release notes?
rwg0 commentedon Apr 14, 2023
To avoid a breaking change you could attribute the existing TimeZoneOffset property as [Obsolete] and add a new property with the correct definition.
JimBobSquarePants commentedon Apr 14, 2023
While it affects the public API I don’t consider bug fixes like this to require minor versions. I’d be happy shipping a fix without one.
JimBobSquarePants commentedon Sep 27, 2023
I'm happy for this to be fixed in v3.1