的WinForms。如何使用PrintDocument以英寸或厘米的精确坐标进行打印

时间:2018-06-01 19:59:21

标签: winforms printdocument inches

我需要以英寸或厘米的精确坐标打印数据。 所以我使用Graphics.DpiX,Graphics.DpiY

例如,要绘制1英寸大小的正方形,我尝试使用下一个代码

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    Rectangle r = new Rectangle(100, 100, (int)e.Graphics.DpiX, (int)e.Graphics.DpiY);

  e.Graphics.DrawRectangle(Pens.Black, r);
}

但是广场的大小太多了。

enter image description here

所以问题是如何绘制正好1英寸大小的正方形?

我认为e.Graphics.DpiX,e.Graphics.DpiY返回物理设备的每英寸像素数。 但我需要获得当前存在Graphics的逻辑坐标的每英寸像素数。

0 个答案:

没有答案