Fixed writing multiple StripOffsets to TIFF#8317
Merged
radarhere merged 2 commits intopython-pillow:mainfrom Sep 25, 2024
Merged
Fixed writing multiple StripOffsets to TIFF#8317radarhere merged 2 commits intopython-pillow:mainfrom
radarhere merged 2 commits intopython-pillow:mainfrom
Conversation
cc3fdcc to
ac3b64c
Compare
radarhere
reviewed
Aug 19, 2024
c9d1abc to
9fb34d8
Compare
9fb34d8 to
9707f88
Compare
9707f88 to
362ffaf
Compare
radarhere
reviewed
Sep 20, 2024
| raise NotImplementedError(msg) | ||
| value = self._pack("L", self._unpack("L", value)[0] + offset) | ||
| size, handler = self._load_dispatch[typ] | ||
| values = [val + offset for val in handler(self, data, self.legacy_api)] |
Member
There was a problem hiding this comment.
Suggested change
| values = [val + offset for val in handler(self, data, self.legacy_api)] | |
| values = [val + offset for val in handler(self, data)] |
Throwing this suggestion out there, see what happens - considering that this should be SHORT or LONG (or LONG8), it doesn't matter whether the legacy API is in use or not, as they're all passed to
Pillow/src/PIL/TiffImagePlugin.py
Lines 502 to 505 in b557876
Contributor
Author
There was a problem hiding this comment.
I think it's more correct to pass the value since we have it. The value not being used is an implementation detail that this call shouldn't be concerned with.
radarhere
reviewed
Sep 20, 2024
radarhere
reviewed
Sep 20, 2024
radarhere
reviewed
Sep 20, 2024
Member
If libtiff is used when saving, yes. Otherwise, no. |
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
radarhere
approved these changes
Sep 20, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The StripOffsets values don't really mean anything without associated image data, so I just did the same thing as when this tag only has one value and added the IFD offset to the values.
StripOffsets is overwritten with correct values when writing TIFF images, so this only matters when writing a non-TIFF image, where StripOffsets doesn't mean anything. The main benefit of this change is that it won't raise an exception now when saving a non-TIFF image with EXIF data copied from a TIFF image that has more than one strip.