文章

像素(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 进行授权