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
Different results on Linux and Windows when GraphicsUnit.Point + transformation matrix are used #545
Comments
Here is the test for libgdiplus to reproduce the issue:
The test will pass if you define PASS symbol or inverse "#ifndef PASS" condition. |
The root cause - |
shibaev
added a commit
to BitMiracle/libgdiplus
that referenced
this issue
May 28, 2019
* test_world_transform_respects_page_unit_document - tests GdipSetWorldTransform and UnitDocument * test_world_transform_respects_page_unit_point - tests GdipTranslateWorldTransform and UnitPoint
shibaev
added a commit
to BitMiracle/libgdiplus
that referenced
this issue
May 28, 2019
) * general.c - implement gdip_cairo_set_matrix function that converts translation part of a matrix from page units to cairo coordinates * graphics-cairo.c - fix typo when input parameter 'matrix' was not used * customlinecap.c, graphics-cairo.c, graphics.c, image.c, pen.c - use gdip_cairo_set_matrix instead of cairo_set_matrix when input matrix is expressed in page units
akoeplinger
pushed a commit
that referenced
this issue
Jul 31, 2019
…iro (#551) * Add failed tests for page unit and world transform dependency (#545) * test_world_transform_respects_page_unit_document - tests GdipSetWorldTransform and UnitDocument * test_world_transform_respects_page_unit_point - tests GdipTranslateWorldTransform and UnitPoint * Respect page units when passing transformation matrix to cairo (#545) * general.c - implement gdip_cairo_set_matrix function that converts translation part of a matrix from page units to cairo coordinates * graphics-cairo.c - fix typo when input parameter 'matrix' was not used * customlinecap.c, graphics-cairo.c, graphics.c, image.c, pen.c - use gdip_cairo_set_matrix instead of cairo_set_matrix when input matrix is expressed in page units * Fix clipping of non-rectangular paths (#547, #552) Clipping of paths and path-based regions was broken in 5dd3b5d. This commit fixes the issue. * graphics-cairo.c - do not pass NULL matrix to GdipGetRegionScansCount and GdipGetRegionScans * testclip.c - add test for clipping of paths and regions based on paths * Fix indent in test Fixes #545.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The following C# code produces different results on Linux and Windows - the black rectangle is located at different places:
Linux output:
I tried both libgdiplus 4.2-2 and the latest version compiled with master (dba6fc6) - the result is the same.
Windows output:
The text was updated successfully, but these errors were encountered: