C# 用于打印机的GraphicsUnit.Display的值是多少

C# 用于打印机的GraphicsUnit.Display的值是多少,c#,.net,printing,C#,.net,Printing,我尝试使用PrintDocument类。我使用PrintPage事件。处理函数类似于: void PrintH(object sender, PrintPageEventArgs e) e.Graphics对象默认页面单位为GraphicsUnit.Display,文档中规定打印机“通常”为1/100英寸。典型的意思是永远吗?这有点模棱两可。如果没有,是否有办法确定显示器的英寸或毫米(最好是.net解决方案)?这是“典型的”,因为视频显示器每英寸的像素数是可变的。很长一段时间以来,默认值为每英

我尝试使用PrintDocument类。我使用PrintPage事件。处理函数类似于:

void PrintH(object sender, PrintPageEventArgs e)
e.Graphics对象默认页面单位为GraphicsUnit.Display,文档中规定打印机“通常”为1/100英寸。典型的意思是永远吗?这有点模棱两可。如果没有,是否有办法确定显示器的英寸或毫米(最好是.net解决方案)?

这是“典型的”,因为视频显示器每英寸的像素数是可变的。很长一段时间以来,默认值为每英寸96点,与打印机的1/100“图形单元非常匹配。但这正在改变,Vista特别使更改默认值变得容易。显示小程序中的“使屏幕上的内容更易于阅读”页面提供了100%(96 dpi)、125%(120 dpi)的单选按钮和150%(144 dpi)

除此之外,很少有与实际显示器dpi很好的匹配。增加dpi只会使绘制的所有内容都变大。更易于阅读。但是,打印机映射是准确的。当您绘制一条100长的线时,无论打印机分辨率如何,都会在纸上显示一英寸。

Hm指定显示设备的测量单位。通常是视频显示器的像素,打印机的像素为1/100英寸。”通常是指视频显示器(我没有注意到逗号)。