Delphi 为什么屏幕返回的分辨率低于我的Windows 8平板电脑设置的分辨率?

Delphi 为什么屏幕返回的分辨率低于我的Windows 8平板电脑设置的分辨率?,delphi,windows-8,tablet,dpi,Delphi,Windows 8,Tablet,Dpi,我有一台Windows8平板电脑,全高清分辨率为1920x1080像素集 但是,当我使用Delphi的Screen对象获取Screen.Width和Screen.Height时,它将返回运行在Windows8平板电脑上的1280x720分辨率 问题的根源在哪里?在Windows(平板电脑)端还是在Delphi端?我使用Delphi7到XE2,结果相同。这似乎是一个平板电脑问题,而不是一般的Windows 8问题,因为我在Windows 8.1桌面计算机上没有这种行为 结论 我只是想强调问题的原

我有一台Windows8平板电脑,全高清分辨率为1920x1080像素集

但是,当我使用Delphi的
Screen
对象获取
Screen.Width
Screen.Height
时,它将返回运行在Windows8平板电脑上的1280x720分辨率

问题的根源在哪里?在Windows(平板电脑)端还是在Delphi端?我使用Delphi7到XE2,结果相同。这似乎是一个平板电脑问题,而不是一般的Windows 8问题,因为我在Windows 8.1桌面计算机上没有这种行为


结论

我只是想强调问题的原因,因为它隐藏在评论中。

默认情况下,我的平板电脑上的Windows 8使用150%的DPI。1080px是720px的150%。因此,应用程序可以使用720px。将DPI百分比降低到100%可获得预期的1080px分辨率

关于全高清的定义是有争议的

业界已经采用了术语“全高清”作为消费者友好的营销术语,这意味着该设备是安全的,因为它至少可以显示一种可用的高清分辨率

您的设备支持16:9的纵横比,这是高清的国际标准

最广为人知的两种
全高清
分辨率是:

  • 1280 x 720(720p)
  • 1920 x 1080(1080p)
事实上,您的设备称其为
全高清
,这意味着该设备的显示器至少支持720p的分辨率,最高可达1080p

鉴于这是一款平板电脑,它的本机分辨率应该是720p高清。 您可以强制1080p的事实恰恰意味着,一个标记为
全高清的显示器能够显示1080p。并不意味着1080p是它的本机分辨率


为了回答您的问题,Delphi和Windows都没有问题。

这可能是DPI相关的问题。Aero可以通过两种方式处理高DPI情况:

  • 对应用程序来说,DPI大于standart 96,让它自行扩展
  • 在应用程序中,DPI通常为96,并使用一些图像缩放算法缩放窗口(产生模糊)
可能是在第二种情况下,Aero不仅在DPI方面撒谎,而且在屏幕分辨率方面也撒谎


如果第二种情况是您的情况,则不要关闭缩放。只需让您的应用程序了解DPI即可: -一般信息
-delphi

你有多确定这台机器有全高清?Windows就是这么说的。而且它“看起来”也很像。除了在平板电脑上将分辨率设置为1920x1080,我还能做些什么呢?监视器。宽度和监视器。高度是否返回相同的值?这里有一个小测试。。。按PrintScr键。这将拍摄桌面的快照。粘贴到Windows Paint中,然后裁剪图像以消除白色边框。生成的图像是否为1920x1080像素?@Erik在屏幕截图测试之前,您是否已将自定义DPI设置或Windows 8中的任何名称设置为100%?我高度怀疑,如果显示器本身不支持1920x1080,它将作为分辨率选项提供。我从未见过“全高清”表示低于1080p的任何东西。这里,f.i.重定向到1080p。@SertacAkyuz,官方认为720p和1080p都是“全高清”。每个人都认为
全高清
是1080p,因为这是它长期以来的营销方式。事实上,确保该设备本机支持1080p的唯一方法是:声明:
全高清1080p
。如果没有1080p,就无法保证这一点,而这正是该行业取得巨大成功的原因。我想看看你的官方参考资料。@SertacAkyuz,对你来说什么是官方的?维基?即使您查看1080p wiki页面,它也会清楚地指出:
通常以全高清形式销售,即1080p。我很遗憾正式地说,因为正如我在回答中所说,“全高清”一词不是官方的,是由营销行业编造的。全高清的定义是有争议的。有很多很好的文章涉及到这个话题,比如:.1)不,维基对我来说不是官方的。我只是记录了我的个人经历,并举了一个例子。2) “它清楚地表明,通常以全高清的形式销售”,是的,这就是我所说的。对于720p,您将找不到类似的声明。3) 我不同意。就我个人而言,我从未见过任何关于“全高清”是什么的争论/困惑。可能是“高清就绪”,但不是“全高清”。但这是我的观点/经验,显然你的不同。(附言:你链接的文章似乎将全高清定义为1080p。我读错了吗?)这是微软不应该在Windows中提供的设置。我不同意你的观点,杰瑞。这个设置是唯一让as希望在将来某个时候在桌面上显示视网膜的东西。