游戏应用程序使用 C ++ 编写,并使用 DirectX 8 。
我获得最大显示器分辨率以计算宽高比。 然后我使用此值来修复游戏渲染(缩放和设置剪裁以接收宽屏幕监视器上带有黑色边框的普通 4:3 图像)。
如何检查显示器现在是否正在使用宽高比自动调整? 因为我的缩放加上监视器缩放会使得结果图像过度缩放。
由于
编辑: 在“Royal Envoy”休闲游戏中,我看到了正确的不同显示器分辨率处理,有无纵横比自动调整。但不知道他们是怎么做到的。
答案 0 :(得分:2)
这通常是在监视器本身中实现的,因此应用程序无法检测到这种情况。
请注意,您还需要处理显示器分辨率设置为1280x1024的情况,即使用非方形像素(显示尺寸仍为物理4:3)的5:4分辨率。假设您的像素是正方形并不总是正确的。 (虽然可能有办法向操作系统或其他窗口管理器查询此信息。)