-
Notifications
You must be signed in to change notification settings - Fork 10.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrong rendering of pattern #11473
Labels
Comments
brendandahl
added a commit
to brendandahl/pdf.js
that referenced
this issue
May 11, 2021
Previously, we set the base transformation and pattern matrix directly to the main rendering ctx of the page, however doing this caused the current transform to be lost. This would cause issues with things like shear missing so the pattern was misaligned or when stroke was used the scale of the line width or dash would be wrong. Instead we should leave the current transform and use setTransfrom on the pattern so it is applied correctly. For axial and radial shadings I had to create a temporary canvas to draw the shading so I could in turn use setTransform. Fixes: mozilla#13325, mozilla#6769, mozilla#7847, mozilla#11018, mozilla#11597, mozilla#11473 The following already in the corpus are improved: issue8078-page1 issue1877-page1
brendandahl
added a commit
to brendandahl/pdf.js
that referenced
this issue
Jun 30, 2021
Previously, when we filled image masks we didn't copy over the current transformation, this caused patterns to be misaligned when painted. Now we create a temporary canvas with the mask and have the transform copied over and offset it relative to where the mask would be painted. We also weren't properly offsetting tiling patterns. This isn't usually noticeable since patters repeat, but in the case of mozilla#13561 the pattern is only drawn once and has to be in the correct position to line up with the mask image. These fixes broke mozilla#11473, but highlighted that we were drawing that correctly by accident and not correctly handling negative bounding boxes on tiling patterns. Fixes mozilla#6297, mozilla#13561, mozilla#13441, mozilla#13111 Partially fixes mozilla#1344 (still blurry but boxes are in correct position now)
brendandahl
added a commit
to brendandahl/pdf.js
that referenced
this issue
Jul 6, 2021
Previously, when we filled image masks we didn't copy over the current transformation, this caused patterns to be misaligned when painted. Now we create a temporary canvas with the mask and have the transform copied over and offset it relative to where the mask would be painted. We also weren't properly offsetting tiling patterns. This isn't usually noticeable since patters repeat, but in the case of mozilla#13561 the pattern is only drawn once and has to be in the correct position to line up with the mask image. These fixes broke mozilla#11473, but highlighted that we were drawing that correctly by accident and not correctly handling negative bounding boxes on tiling patterns. Fixes mozilla#6297, mozilla#13561, mozilla#13441, mozilla#13111 Partially fixes mozilla#1344 (still blurry but boxes are in correct position now)
brendandahl
added a commit
to brendandahl/pdf.js
that referenced
this issue
Jul 7, 2021
Previously, when we filled image masks we didn't copy over the current transformation, this caused patterns to be misaligned when painted. Now we create a temporary canvas with the mask and have the transform copied over and offset it relative to where the mask would be painted. We also weren't properly offsetting tiling patterns. This isn't usually noticeable since patters repeat, but in the case of mozilla#13561 the pattern is only drawn once and has to be in the correct position to line up with the mask image. These fixes broke mozilla#11473, but highlighted that we were drawing that correctly by accident and not correctly handling negative bounding boxes on tiling patterns. Fixes mozilla#6297, mozilla#13561, mozilla#13441 Partially fixes mozilla#1344 (still blurry but boxes are in correct position now)
Since #11473, there is some tiny glitches on lines, should we reopen this ticket until rendering is perfectly effected ? |
bh213
pushed a commit
to bh213/pdf.js
that referenced
this issue
Jun 3, 2022
Previously, when we filled image masks we didn't copy over the current transformation, this caused patterns to be misaligned when painted. Now we create a temporary canvas with the mask and have the transform copied over and offset it relative to where the mask would be painted. We also weren't properly offsetting tiling patterns. This isn't usually noticeable since patters repeat, but in the case of mozilla#13561 the pattern is only drawn once and has to be in the correct position to line up with the mask image. These fixes broke mozilla#11473, but highlighted that we were drawing that correctly by accident and not correctly handling negative bounding boxes on tiling patterns. Fixes mozilla#6297, mozilla#13561, mozilla#13441 Partially fixes mozilla#1344 (still blurry but boxes are in correct position now)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
pattern.pdf
Configuration:
Steps to reproduce the problem:
What is the expected behavior?
What went wrong?
The crosshatch pattern is rendered by pdf.js using the wrong pattern style. The other pattern style just seem to have a broken redering.
TeX source of PDF:
The text was updated successfully, but these errors were encountered: