使用方法
- 在「横向像素」填屏幕或图片的物理宽度,示例 2560;纵向填 1440。这两个数要取物理像素,不是浏览器里的 CSS 像素。
- 在「对角线」填可视区的对角线长度,单位英寸,示例 27。量的是能发光的那一块,不含边框。
- 按「计算」,或在任一输入框里按裸 Enter,结果区四格立刻更新:像素密度、像素间距、总像素数、可视区宽高。
- 像素间距是 25.4 ÷ PPI 得到的毫米数,它比 PPI 更直观——两点之间隔 0.233 mm 与隔 0.130 mm,肉眼差别很大。
- 点「载入示例」回到 2560 × 1440 / 27 英寸这一组;想横向比较不同尺寸就读下方对照表。
这个PPI计算器能解决什么问题
第一类场景是买显示器前的横向比较。同为 2560 × 1440,27 英寸是 108.79 PPI,37 英寸只有 79.38 PPI,差 29.41。同一块面板尺寸越大越稀,这条反比关系在对照表里一行一行都能查到。
第二类场景是判断「4K 是不是一定更清」。3840 × 2160 在 27 英寸下是 163.18 PPI,在 32 英寸下是 137.68 PPI——后者反而不如某些高分小屏。分辨率是绝对量,像素密度才是观感量,二者差一个尺寸。
第三类场景是做图与出片的尺寸换算。知道可视区宽 59.77 cm、高 33.62 cm,就能反推海报或 UI 稿按 1:1 显示需要多少像素,避免导出后发现被缩放。
第四类场景是核对系统报的数值。系统设置里显示的缩放比例、设计软件里的画布尺寸,经常与厂商标称不符,用这里的公式自己算一遍就知道谁在取整。
这个 PPI计算器不做的事也说清楚:它不做观看距离下的可分辨阈值判断(那要引入视角与视力,本页不给阈值),不做打印机与扫描仪的墨点密度换算,不做亚像素排列(Pentile 等)的等效折算,也不处理曲面屏的弧长修正。
原理与规则说明
核心公式是勾股定理加一次除法:PPI = Math.sqrt(w*w + h*h) / d。先求对角线上有多少个像素,再摊到每一英寸上。示例 2560² + 1440² = 8627200,开方得 2937.21,除以 27 得 108.79。这里用 Math.sqrt 而不是 Math.hypot 也可以,两者在常规尺寸下一致;本页选 sqrt 是因为中间量「对角线像素数」要单独显示出来,写成分步更好核对。
像素间距是 25.4 / PPI,单位毫米。25.4 不是近似值:1959 年国际码磅协议(International Yard and Pound Agreement)把 1 英寸精确定义为 25.4 毫米,所以这里没有任何测量误差。示例 25.4 ÷ 108.79 = 0.233 mm。
总像素是 w * h / 1e6,单位百万像素(MP)。示例 2560 × 1440 = 3686400 = 3.69 MP。可视区宽高是 w / PPI * 2.54 与 h / PPI * 2.54,单位厘米,示例 59.77 × 33.62 cm——注意它只在你填的对角线是「可视区」时才成立。
两个必须分清的概念:PPI(pixels per inch)说的是显示器件上物理发光点的密度;DPI(dots per inch)说的是打印机墨点或扫描仪采样点,二者不是同一个东西,混用会得出荒谬的结论。另外,CSS 规范(CSS Values and Units Module Level 3)规定参考像素为 1/96 英寸,也就是说浏览器世界固定按 96 PPI 折算——所以 devicePixelRatio = 2 时,1440 个 CSS 像素对应 2880 个物理像素,填错就会得到一半的结果。
输入到输出的链条:trim → Number() → 整数性与范围校验 → Math.sqrt(w*w + h*h) 得对角像素数 → 除以 d 得 PPI → 25.4/PPI 得间距 → w·h/1e6 得总像素 → w/PPI×2.54 与 h/PPI×2.54 得可视宽高 → 分别按 2 位、3 位、2 位、2 位小数输出。
最常见的误用是拿外框尺寸当天数:27 英寸是可视区对角线,边框窄的机型实测外框往往更大,填外框会把 PPI 算低。第二个误用是把 CSS 像素当物理像素:高分屏上浏览器报告的 screen.width 通常是 CSS 像素,DPR = 2 时要乘 2 才是物理值,否则 2560 会被填成 1280,PPI 直接腰斩。
完整示例(数值仅作演示)
默认输入是横向 2560、纵向 1440、对角线 27 英寸。这组数字同时是表单默认值和下方对照表第 7 行(27 英寸),三处咬合。
- 对角线像素数 = √(2560² + 1440²) = √8627200 = 2937.21 px;
- 像素密度 = 2937.21 ÷ 27 = 108.79 PPI;
- 像素间距 = 25.4 ÷ 108.79 = 0.233 mm;
- 总像素 = 2560 × 1440 ÷ 1000000 = 3.69 MP;
- 可视区 = 2560 ÷ 108.79 × 2.54 = 59.77 cm 宽,1440 ÷ 108.79 × 2.54 = 33.62 cm 高;
- 换成 4K:3840 × 2160 在 27 英寸下是 163.18 PPI,比本例高 54.39;
- 换成 32 英寸的 4K:137.68 PPI,仍高于本例,但比 27 英寸的 4K 低 25.50。
把对角线拉到 37 英寸再看一次:PPI 掉到 79.38,间距涨到 0.320 mm,可视宽涨到 81.91 cm——像素数一个没变,观感密度却少了近三成,这就是「同样 2K,越大越糙」的量化说法。
输入范围与对照表
横向与纵向像素接受 1 到 100000 的整数;对角线接受 0.1 到 300 英寸,允许一位小数。下面这张表固定 2560 × 1440,把对角线从 15 英寸扫到 37 英寸,用来查「尺寸每加 2 英寸、密度掉多少」。
| 项目 | 取值 | 说明 |
|---|---|---|
| 固定像素 | 2560 × 1440 | 与表单默认值一致 |
| 扫描区间 | 对角线:15 → 37 in | 步长 2,共 12 行 |
| 密度区间 | 195.81 → 79.38 PPI | 与对角线成反比 |
| 间距区间 | 0.130 → 0.320 mm | 与密度成反比 |
| 第 7 行 | 27 in / 108.79 PPI | 即默认示例所在行 |
| 加载更多 | 对角线:39 → 57 in | 再补 10 行,共 22 行 |
点「加载更多」把表补到 22 行;点「导出对照表 CSV」下载带 BOM 的表格文件(Excel 双击打开中文不乱码);点「复制对照表 TSV」把整张表复制成制表符分隔文本,可直接粘进表格软件。
边界与精度说明
对角线为 0 时直接拒收并提示「对角线必须大于 0,除以零没有像素密度可言」——这里不做静默归零,因为 0 英寸对应的 PPI 是无穷大,显示成 0 会让人以为屏幕「完全没有密度」。
横向或纵向像素小于 1 拒收;填小数会被提示「请填整数像素」,因为半个像素没有意义,本页不帮你四舍五入。对角线超过 300 英寸、像素超过 100000 各给对应提示,通常意味着单位填错了。
当算出的 PPI 超过 1000 时,说明行会追加一句「请确认对角线填的是英寸:填成厘米会得到约 2.54 倍的结果」——这是本页最常见的单位错误,103 PPI 与 262 PPI 的差别就是这么来的。
精度上,像素密度保留 2 位小数、像素间距保留 3 位小数、总像素与可视尺寸保留 2 位。参与运算的是完整双精度值,只有显示层四舍五入。IEEE 754 的安全整数上限是 2^53 = 9007199254740992,而 w² + h² 在 w、h 取 100000 时也只有 2e10,远在安全范围内,本页不存在浮点丢精度的问题。
还有一条边界:宽高比不参与计算。PPI 只由对角像素数与对角尺寸决定,2560 × 1440 与 1440 × 2560 给出同一个值;但若你的屏幕是曲面或非矩形,勾股定理的前提(矩形对角)不成立,结果只作参考。
常见问题
PPI 和 DPI 有什么区别?
PPI 是显示器上物理发光点的密度,DPI 是打印机墨点或扫描仪采样点的密度。二者都是「每英寸多少个点」,但点的物理含义不同,不能互相换算,也不要拿显示器的 PPI 去设打印分辨率。
4K 一定比 1080p 清晰吗?
同一块尺寸下是。3840 × 2160 在 27 英寸是 163.18 PPI,1920 × 1080 在 24 英寸是 91.79 PPI;但如果把 4K 放到 32 英寸,只有 137.68 PPI。分辨率是绝对量,清晰度要看密度。
为什么我算的和系统显示的不一样?
多半是像素口径不同。高分屏上系统报告的通常是 CSS 像素,devicePixelRatio = 2 时 1440 个 CSS 像素对应 2880 个物理像素;把 CSS 像素直接填进来会得到一半的 PPI。
对角线要量外框还是屏幕?
量可视区,也就是能发光的那一块,不含边框。厂商标称的「27 英寸」指的也是可视区对角线;填外框会把尺寸填大、把 PPI 算低。
像素间距有什么用?
它比 PPI 直观:0.233 mm 与 0.130 mm 的差别就是「颗粒感」的差别。做近距离观看的选型(监视器、平板)时,直接比间距比 PPI 更容易判断。
分辨率该填 CSS 像素还是物理像素?
填物理像素。CSS 规范把参考像素定为 1/96 英寸,浏览器里的 1px 不等于屏幕上的 1 个发光点;DPR = 2 时物理像素 = CSS 像素 × 2。
算出的 PPI 超过 1000 是怎么回事?
几乎都是单位错了:对角线填成厘米会得到约 2.54 倍的结果。本页会在超过 1000 时提示你确认单位,常规显示器件很少超过 500 PPI。
输入的数字会被上传吗?
不会。三个数只参与页面内存里的乘法、开方与除法,不发任何网络请求;开发者工具的 Network 面板里除页面自身资源外不会出现新请求,刷新后输入即清空。
相关工具
PPI计算器只负责「已知像素与英寸求密度」这一件事,像素从哪来、算完怎么用,各有专门页面。