https://www.w3.org/Bugs/Public/show_bug.cgi?id=29751
Bug ID: 29751 Summary: 7.2 equivalent transform of an SVG viewport is mathematically wrong Product: SVG Version: SVG 2.0 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P2 Component: Coordinate Systems Assignee: [hidden email] Reporter: [hidden email] QA Contact: [hidden email] Target Milestone: Test Suite I've tried to implement the algorithm described in section "7.2 Computing the equivalent transform of an SVG viewport" and found it to be wrong. > 9. Initialize translate-x to vb-x - e-x. > 10. Initialize translate-y to vb-y - e-y. The purpose of this is to move the viewport origin to the left/top coordinates of the viewBox. I. e. when the viewBox is to the right of the initial origin (vb-x > e-x), the origin needs to be moved to the right: x values get thus smaller (tx < 0). In addition, the last sentence implies that translation is applied after scaling. In this case the translation values also need to be multiplied by the scaling values. Therefore these steps must be > 9. Initialize translate-x to (e-x - vb-x) * scale-x. > 10. Initialize translate-y to (e-y - vb-y) * scale-y. Here are a few test cases to illustrate: x="0" y="0" width="21" height="10" viewBox="11 13 3 2" preserveAspectRatio="none" is equivalent to transform="translate(-77 -65) scale(7 5)" x="0" y="0" width="21" height="10" viewBox="11 13 3 2" preserveAspectRatio="xMinYMin meet" is equivalent to transform="translate(-55 -65) scale(5 5)" x="0" y="0" width="21" height="10" viewBox="11 13 3 2" preserveAspectRatio="xMidYMid meet" is equivalent to transform="translate(-52 -65) scale(5 5)" x="0" y="0" width="21" height="10" viewBox="11 13 3 2" preserveAspectRatio="xMaxYMax meet" is equivalent to transform="translate(-49 -65) scale(5 5)" x="0" y="0" width="21" height="10" viewBox="11 13 3 2" preserveAspectRatio="xMinYMin slice" is equivalent to transform="translate(-77 -91) scale(7 7)" x="0" y="0" width="21" height="10" viewBox="11 13 3 2" preserveAspectRatio="xMidYMid slice" is equivalent to transform="translate(-77 -93) scale(7 7)" x="0" y="0" width="21" height="10" viewBox="11 13 3 2" preserveAspectRatio="xMinYMin slice" is equivalent to transform="translate(-77 -95) scale(7 7)" -- You are receiving this mail because: You are the QA Contact for the bug. |
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29751
Amelia Bellamy-Royds <[hidden email]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amelia.bellamy.royds@gmail. | |com --- Comment #1 from Amelia Bellamy-Royds <[hidden email]> --- We're now using GitHub issues to track SVG spec bugs, I've created a copy of this issue here: https://github.com/w3c/svgwg/issues/215 -- You are receiving this mail because: You are the QA Contact for the bug. |
In reply to this post by Bugzilla from bugzilla@jessica.w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29751
--- Comment #2 from [hidden email] --- I got directed here from https://www.w3.org/Graphics/SVG/feedback.html, maybe you should update that page. -- You are receiving this mail because: You are the QA Contact for the bug. |
Free forum by Nabble | Edit this page |