Bug 41903 - Wrong positioning in method DrawImage when printing a document
Summary: Wrong positioning in method DrawImage when printing a document
Status: NEW
Alias: None
Product: Class Libraries
Classification: Mono
Component: System.Drawing ()
Version: 4.2.0 (C6)
Hardware: PC Linux
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
Depends on:
Reported: 2016-06-16 16:16 UTC by Carles
Modified: 2017-02-06 15:25 UTC (History)
1 user (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report for Bug 41903 on GitHub or Developer Community if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: GitHub Markdown or Developer Community HTML
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:

Description Carles 2016-06-16 16:16:04 UTC

I've noticed that the Method e.Graphics.DrawImage when performing a printing is not behaving correctly when units are set to mm:

            e.Graphics.PageUnit = GraphicsUnit.Millimeter; //e comes from the printer event handler "PrintPageEventArgs e"

I don't exactly know what unit is using exactly or whether there is a bad transformation of the units but the location of the objects and dimensions of the picture is not correct. In my test case I'm using the following function header:

e.Graphics.DrawImage(Bitmap, RectangleF(), RectangleF(), GraphicsUnit.Pixel);

Thank you very much in advance for this great team.

Comment 1 Carles 2016-06-17 10:07:02 UTC

I've been doing some more testing, and having the very same page format (A4, graph units in mm) and the very same content, using different available headers for DrawImage() leads to very different layouts. Running the very same code in Visual Studio, the layout is perfect, no matter what function header is used.

Comment 2 Carles 2017-02-06 15:25:23 UTC
This error still persists in the most recent version of Mono (updated from the Mono-Project sources)