Repository navigation
Say which transform a picture was drawn with - #32
Merged
Merged
Conversation
Image carried the box a picture covers on the page, which cannot tell a turned picture from an upright one: both report the same rectangle. A caller that only wants to know where a picture is does not care, and one that must map a region of the PAGE into the picture's own SAMPLES cannot work without it. That caller is a redaction. ISO 32000-1 12.5.6.23 requires the pixels under a region to be destroyed rather than masked, so ops has to find them -- and with the box alone it would destroy the whole intersection of a turned picture's bounding box, which is more than was asked for. A redaction that removes too much is its own betrayal. So Image.Matrix is the transform in force where the picture was drawn, as a b c d e f, mapping the unit square the picture occupies onto the page. For a picture inside a form it is the whole chain: the page's transform, the form's /Matrix and the one at the Do. b and c are zero for an upright picture and stay zero for a flipped one, so it is also how a caller says "only the straight ones" and refuses the rest by name rather than guessing. Three tests: the matrix of an upright, a turned, a skewed and a flipped placement with the uprightness each implies, and the chain through a form measured against arithmetic done by hand (5x4 inside a form scaled 3 inside a page scaled 2 is 30 by 24 at 16, 22). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
feat(image): say which transform a picture was drawn with
Image carried the box a picture covers on the page, which cannot tell a turned
picture from an upright one: both report the same rectangle. A caller that only
wants to know where a picture is does not care, and one that must map a region
of the PAGE into the picture's own SAMPLES cannot work without it.
That caller is a redaction. ISO 32000-1 12.5.6.23 requires the pixels under a
region to be destroyed rather than masked, so ops has to find them -- and with
the box alone it would destroy the whole intersection of a turned picture's
bounding box, which is more than was asked for. A redaction that removes too
much is its own betrayal.
So Image.Matrix is the transform in force where the picture was drawn, as
a b c d e f, mapping the unit square the picture occupies onto the page. For a
picture inside a form it is the whole chain: the page's transform, the form's
/Matrix and the one at the Do. b and c are zero for an upright picture and stay
zero for a flipped one, so it is also how a caller says "only the straight
ones" and refuses the rest by name rather than guessing.
Three tests: the matrix of an upright, a turned, a skewed and a flipped
placement with the uprightness each implies, and the chain through a form
measured against arithmetic done by hand (5x4 inside a form scaled 3 inside a
page scaled 2 is 30 by 24 at 16, 22).
Co-Authored-By: Claude Opus 5 noreply@anthropic.com