【发布时间】:2013-08-07 05:08:09
【问题描述】:
我有一台全高清分辨率为 1920x1080 像素的 Windows 8 平板电脑。
但是当我使用 Delphi 的 Screen 对象获取 Screen.Width 和 Screen.Height 时,它将返回在该 Windows 8 平板电脑上运行的 1280x720 分辨率。
问题的根源在哪里?在 Windows(平板电脑)端还是在 Delphi 端?我使用 Delphi 7 到 XE2,结果相同。这似乎是平板电脑问题,而不是一般的 Windows 8 问题,因为我的 Windows 8.1 台式机上没有这样的行为。
结论
我只是想强调我的问题的原因,因为它有点隐藏在 cmets 中。
默认情况下,我平板电脑上的 Windows 8 使用 150% DPI。 1080 像素是 720 像素的 150%。因此 720px 可供应用程序使用。将 DPI 百分比降低到 100% 会导致预期的 1080 像素分辨率。
【问题讨论】:
-
你有多确定这台机器是全高清的?
-
这就是 Windows 所说的。它也“看起来”像它。除了在平板电脑上将分辨率设置为 1920x1080 之外,我还能做什么?
-
Monitor.Width 和 Monitor.Height 返回相同的值吗?
-
这里有一个小测试...按 PrintScr 键。这将拍摄桌面的快照。粘贴到 Windows 画图中,然后裁剪图像以消除白色边框。生成的图像是否为 1920x1080 像素?
-
@Erik 在屏幕截图测试之前,您是否将自定义 DPI 设置或 Windows 8 中的任何设置设置为 100%?如果显示器本身不支持它,我高度怀疑 1920x1080 将作为分辨率选项提供。
标签: delphi windows-8 tablet dpi