请教一个“分辨率”和"DPI"的困惑

wanjian982 2009-05-07 09:48:13
首先,HORZRES和VERTRES分别指水平像素大小(像素数)和垂直像素大小(像素数)。
LOGPIXELSX和LOGPIXELSY分别指逻辑像素X(水平方向每英寸的像素数)和逻辑像素Y(垂直方向每英寸的像素数)。
DPI是指每英寸像素数。
那么,我的问题是:
1)从像素大小640X480,DPI 96 设置为 640X480 DPI 120 :
像素大小不变,只增大DPI,那么HORZSIZE,VERTSIZE(我理解他们是“逻辑意义的屏幕大小”)变小。为何实际感觉按钮和字体等元件都变大了?
2)从像素大小640X480,DPI 96 设置为 800X600 DPI 96 :
像素大小变大,DPI不变,那么HORZSIZE,VERTSIZE(我理解他们是“逻辑意义的屏幕大小”)变大。为何实际感觉按钮和字体等元件都变小了?

上面两个问题,是不是因为逻辑屏幕变小,windows为了全屏显示而将起放大,所以感觉元件变大?反之变小?
问题很菜,期待各位大侠指教~~
...全文
255 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanjian982 2009-05-08
  • 打赏
  • 举报
回复
谢谢各位,我理解了。
菜牛 2009-05-07
  • 打赏
  • 举报
回复
1) 原来一逻辑英寸对应96个像素,修改为一逻辑英寸对应120个像素,屏幕绘图只能使用逻辑尺寸,字体不是按照像素计算而是按照逻辑尺寸计算,因此同样逻辑尺寸的字体在修改后占用的像素数就多了,看起来当然就大了;对话框上的控件也是按照逻辑尺寸变化的;如果是用MoveWindow或其他按照像素绘图的GDI函数输出的结果则不受DPI影响。
2) 对于同样大小的(实际)显示面积来说,调大分辨率像素是变小了(同样的面积放更多的点)。所以你的分析错误。
yanjing_mail 2009-05-07
  • 打赏
  • 举报
回复
DPI是打印分辨率 Dot Per Inch:每英寸所打印的点数或线数,用来表示打印机打印分辨率。值越高,打印应该越清楚
NineheadedBird 2009-05-07
  • 打赏
  • 举报
回复
是个好问题
我的理解:
1.DPI是输出分辨率,桌面分辨率不变,图片的输出变大,显示也就变大了
2.桌面分辨率变大,图片输出分辨率不变,占得空间也就小了,显示变小(这个应该好理解)。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧