我有一台Windows 8平板电脑,全高清分辨率为1920x1080像素。
但是当我使用Delphi的Screen
对象获取Screen.Width
和Screen.Height
时,它将返回在Windows 8平板电脑上运行的1280x720的分辨率。
问题根源在哪里?在Windows(平板电脑)方面还是在Delphi方面?我使用Delphi 7到XE2的结果相同。这似乎是一个平板电脑问题,而不是一般的Windows 8问题,因为我的Windows 8.1桌面计算机上没有这样的行为。
结论
我只是想强调我的问题的原因,因为它在评论中有点隐藏 默认情况下,我的平板电脑上的Windows 8使用150%DPI。 1080px是720px的150%。因此应用程序可以使用720px。将DPI百分比降低到100%会产生预期的1080px分辨率。
答案 0 :(得分:4)
这可能是与DPI有关的问题。 Aero可以通过两种方式处理高DPI情况:
可能处于第二种情况Aero不仅关注DPI,还关注屏幕分辨率。
如果第二种情况是你的情况,那么不要关闭缩放。只需让您的应用程序了解DPI: http://www.rw-designer.com/DPI-aware - 一般信息 http://www.micro-isv.asia/2010/09/high-dpi-support-in-windows-vista-and-7/ - 德尔福
答案 1 :(得分:2)
全高清的定义值得商榷。
业界采用全高清这个术语作为消费者友好型营销术语,意味着该设备是安全的购买,因为它可以显示至少一种可用的高清分辨率。
您的设备支持16:9的宽高比,这是HD的国际标准。
两个最知名的full HD
决议是:
您的设备认为它是full HD
只是意味着设备的显示器至少支持720p的分辨率,最高支持1080p。
鉴于这是平板电脑,它的原始分辨率应该是720p HD。
您可以强制1080p的事实恰恰意味着,标记为Full HD
的显示器能够显示1080p。并不意味着1080p是它的原始分辨率。
要回答您的问题,Delphi 既不 Windows也有问题。