|
|
1
27
你想要的显示尺寸
如果您需要DPI,请使用 DpiX 和 DpiY 性质 Graphics :
哦,等等!你想要实际的,拿着一把直尺到显示器前测量尺寸,尺寸?!不,不能使用 任何 操作系统服务。操作系统不知道显示器的实际尺寸,也不知道用户是如何校准的。其中一些信息在理论上是可以检测到的,但是对于操作系统来说,它还没有足够的确定性来可靠地使用它,所以它没有。 作为一项工作,你可以尝试一些东西。
一旦你知道(或 认为 你知道)显示器的对角线尺寸,你需要找到它的物理纵横比。同样,有两件事:
一旦你知道(或 认为 你知道)监视器的对角线大小和物理纵横比是多少,然后你可以计算它的物理宽度和高度。一 二 +B 二 = C 二 因此,通过一些计算,您可以得到:
这使得物理宽度为13.27“,物理高度为10.62”。这使得像素13.27英寸/1280=10.62英寸/1024=0.01037英寸或大约0.263毫米。 当然,如果用户没有合适的分辨率,显示器有古怪的非方形像素,或者它是一个旧的模拟显示器,并且控件没有正确调整以使显示器充满整个物理屏幕,所有这些都是无效的。或者更糟的是,它可能是一个投影仪。 最后,您最好在有用户的地方执行校准步骤。 把尺子举到屏幕上 然后为你量尺寸。你可以:
不管你做什么 不要期望你的结果100%准确。每次都有太多的因素在起作用,你(或用户)不可能完全正确。 注意96 dpi通常 相当接近 准确地说。非投影屏幕上的现代像素通常都是0.25毫米左右,不管是给予还是接受,所以通常最终都是 关于 如果将显示器设置为其本机分辨率,则每英寸100个物理像素。(当然,这是一个巨大的概括 不 适用于所有监视器。例如,如果我能正确记住规格,EEE PC的像素大小大约为0.19毫米。) |
|
|
2
1
抱歉,您必须按P/Invoke获取此信息。 这是我刚才使用的链接: http://www.davidthielen.info/programming/2007/05/get_screen_dpi_.html |
|
|
3
1
您可以通过从屏幕大小手动计算来进行检查。
这会给你以英寸为单位的像素宽度 |
|
|
4
1
|
|
|
5
0
您可以使用注册表中存储的EDID信息获取显示器的物理尺寸。可以使用EnumDisplayDevices Windows API调用获取相应监视器的注册表项。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |