gpt4 book ai didi

windows - Windows 上的屏幕尺寸(以英寸为单位)

转载 作者:可可西里 更新时间:2023-11-01 09:25:04 33 4
gpt4 key购买 nike

我正在开发一款在 iOS 和台式机(Windows、Mac、Linux)上运行的多平台游戏。我希望游戏能够根据屏幕分辨率以英寸 调整某些 UI 元素的大小。这个想法是,如果一个按钮在任何界面中应该有 1/2 英寸左右的宽度,它将自动缩放到该大小。

现在,对于 iOS 设备,使用暴力破解技术可以很好地解决这个问题。您可以查找设备类型并使用硬编码表来确定每个设备的屏幕尺寸(以英寸为单位)。不是最优雅的解决方案,但足够了。

台式机是棘手的。我希望希望存在一种机制,(某些?)监视器可以通过该机制向操作系统报告它们以英寸为单位的实际屏幕尺寸。如果该机制存在并且我可以以某种方式访问​​它,我至少可以获得一些监视器的好数字。但我从未在任何主要操作系统 API 中遇到过任何此类概念。

有没有办法在 Win32 中询问以英寸为单位的屏幕尺寸?如果是这样,是否有实际提供此信息的监视器?

(如果答案是否定的:天哪,这不是很有用吗?)

最佳答案

对于 Windows,请先查看 SetProcessDPIAware()有关关闭自动缩放的讨论,然后调用 GetDeviceCaps( LOGPIXELSX ) and GetDeviceCaps( LOGPIXELSY )在您的 HDC 上确定显示器的 DPI。将事件显示器的屏幕分辨率除以这些设置,就得到了尺寸。

另见 this article有关 DPI 感知应用程序的类似讨论。

关于windows - Windows 上的屏幕尺寸(以英寸为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17756539/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com