关于决议与DPI的问题?

时间:2011-05-16 12:12:21

标签: wpf visual-c++ resolution dpi

以下陈述的含义是什么:

我的系统分辨率为1024 x 768(96 DPI)

我无法理解内部数学,当我们在固定解析时增加DPI时,在VC ++ / MFC或C#/ Winform应用程序中开发的用户界面会扩展(看起来比96 DPI时更大)。

例如,我们开发了96 DPI的用户界面,这意味着每英寸96点。现在,当我们增加DPI然后我们增加每英寸点数时,用户界面应该看起来压缩而不是放大。

我是在Windows 7机器上做的

请帮助!!

2 个答案:

答案 0 :(得分:5)

  

我的系统分辨率为1024 x 768,96 DPI

这意味着您的计算机认为您的显示器每英寸有96点(像素)(按此分辨率)。当程序进行图形计算时,它使用此设置在实际长度(以英寸或厘米为单位)和像素之间进行转换。

如果96 DPI设置与您的显示器匹配(即显示区域为1024/96 = 10.67×768/96 = 8英寸),这将正常工作。

为什么在增加此设置时事情会变大?假设我们想要制作一个1英寸高的按钮,你的显示器的实际DPI是96,但你已经设置为150.每英寸150英寸的点数给我们150像素,所以我们将按钮高150像素。但我们的显示器的真实DPI是96,所以这看起来像150像素/ 96 dpi = 1.56英寸高。

答案 1 :(得分:-1)

您的显示器没有“DPI”设置,此设备只知道像素。 DPI =需要在特殊设备中查看的打印机或预先格式化的文档。但是,您可以计算显示具有X的物理尺寸(因此DPI)的东西需要多少像素......顺便说一下,这是一个相当不精确的计算。

如果您正在计算物理尺寸,那么您要么开发电脑游戏,要么编写自己的打印驱动程序,要么需要完成非凡的项目任务