https://bugs.winehq.org/show_bug.cgi?id=52440
Bug ID: 52440 Summary: GdipRotateWorldTransform+GdipDrawImage draws wrong Product: Wine Version: 7.0 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: gdiplus Assignee: wine-bugs@winehq.org Reporter: hjkl@quantentunnel.de Distribution: ---
Created attachment 71713 --> https://bugs.winehq.org/attachment.cgi?id=71713 Example to reproduce issue
The image output of GdipDrawImage is wrong if applying a rotation with GdipRotateWorldTransform.
I attached an example to reproduce the issue. The .zip file contains: WindowsOutput.png: screenshot of how Windows paints it WineOutput.png: screenshot of how Wine paints it (on Debian 11.2) source: the according source code (Visual C++ 2019 solution), source\x64\Release\Example.exe is the compiled EXE.
The example loads "image.png" from the same directory (just a 16x16 pixels red block) and shows it with the rotation.
This is the critical code:
Gdiplus::DllExports::GdipRotateWorldTransform(pGr, 10, Gdiplus::MatrixOrderAppend); Gdiplus::DllExports::GdipDrawImage(pGr, g_pImg, 100, 50);
Thanks in advance!