像素(px)和磅(pt)
像素(px)是屏幕上最小的显示单位,磅(pt)常用于印刷,1 pt ≈ 1/72 英寸。两者换算依赖屏幕 DPI。
像素(px)和磅(pt)
像素(px)和磅(pt)
px(像素)是实际显示单位,pt(磅)是逻辑字体单位,DPI 决定它们之间如何转换。
px
(像素,pixel):
- 像素是屏幕的物理单位,代表屏幕上的一个点。
- 像素与显示设备的分辨率有关,1 px 通常是显示器上一个最小的光点。
- 在 Qt 和图像处理中经常以 px 为单位,如控件尺寸、图像宽高、坐标等。
例子:
1
label->setFixedWidth(100); // 设置宽度为 100 像素
pt
(磅,point):
- 用于字体大小的单位,是印刷领域传统单位。
- 1 pt = 1/72 英寸,不随分辨率变化。
- 在 Qt 中用于设置字体大小,例如:
1
2
QFont font;
font.setPointSize(12); // 设置字体大小为 12pt
- 实际在屏幕上的显示大小会依赖于系统的 DPI 设置。
DPI
DPI 全称是 Dots Per Inch(每英寸点数),是描述屏幕、打印机、图像分辨率的一个重要单位,意为 每英寸内可以显示/打印多少个点(像素)。
DPI 用于计算控件实际显示尺寸,特别是字体与图像的缩放适配。
假如设置了一个字体大小为
12pt
(point,磅),那它转换成像素就依赖 DPI。转换公式是:
1
px = pt × DPI / 72
比如:
- 在 96 DPI 屏幕上:12pt = 12 × 96 / 72 = 16px
- 在 144 DPI 屏幕上:12pt = 12 × 144 / 72 = 24px
DPI 越高,同样的字体 pt 数字,会占用更多像素,也就是“看起来更大”。
鼠标的 DPI
鼠标的 DPI(Dots Per Inch)表示鼠标在移动时的灵敏度,它的含义与屏幕的 DPI 不一样,尽管单位相同。鼠标 DPI 表示鼠标每移动 1 英寸(2.54 厘米)在屏幕上移动多少像素。
鼠标 DPI 和操作系统的关系:
- DPI × 操作系统的灵敏度 = 实际光标速度。
- 在 Windows 中,通常会设置一个灵敏度(6/11 为默认)。
游戏常说的 eDPI
eDPI = 鼠标DPI × 游戏内灵敏度
例如:
- 鼠标设置 800 DPI,游戏灵敏度 1.5 ⇒ eDPI = 1200
- 用于比较不同玩家操作速度(特别是 FPS 游戏中)
本文由作者按照 CC BY 4.0 进行授权