iOS / Android / 移动开发

DP 转 PX 转换器把倍率和结果放在一起

先选择平台与目标单位,再核对密度、显示倍率或颜色输入。

DP 转 PX 转换器

输入

结果

32 px

计算过程: 16 dp × 2 ÷ 1 = 32 px

数值只在当前浏览器计算,不会上传。

选项

结果已更新。

设计稿写着 16 dp,而截图量出 32 px 时,DP 转 PX 转换器 会把 xhdpi 的 2 倍密度和结果并列显示,方便核对交付尺寸。iOS 的布局点另用显示倍率,不与 Android dp 混算。

做 px 转 dp 时,不能只看设备分辨率;应取目标应用的密度。文字用 sp 转 px 还涉及用户字体设置,在新版本 Android 上需要留意非线性缩放。

为什么用 DP 转 PX 转换器

不同平台分别给出可追溯的倍率。

平台单位分别计算

DP 转 PX 转换器 把 Android density 与 iOS display scale 分开。44 pt 在 @2x 下是 88 px,16 dp 在 xhdpi 下是 32 px,两者不会被当作同一种点。

Android dp 与 iOS pt 分别连到各自倍率和像素结果的示意图。

sp 结果标出估算性质

字体缩放值可输入,但 sp 在 Android 14 及更高版本可能按非线性曲线计算;页面会把线性估算与 dp 的确定换算区分开。

Android dp 的确定换算和 sp 的线性估算并排展示。

换算前要确认的三个上下文

01

先选平台

切换 Android 与 iOS 时,各自保存输入,避免把 Android 16 dp 误读成 iOS 16 pt。

  • 示例分别是 16 dp、xhdpi,以及 44 pt、@2x。
02

填写目标倍率

Android 可选密度桶,也可输入应用真实 density;iOS 输入目标屏幕的 scale。参数一变,旧结果就不能复制。

  • 字体倍率只用于 sp 的线性估算,真机请用 TypedValue 核对。
03

看公式再复制

结果同时列出原值、倍率和目标单位。关闭自动转换后,可点击按钮或按 Ctrl/Cmd + Enter。

  • 清空或载入示例会先预览,应用后可撤销一次。

尺寸、文字和 Swift 颜色的具体输出

双向尺寸换算

支持 dp 转 px、px 转 dp,也支持 iOS pt 转 px 和反向计算;自定义倍率适合不在预设桶里的设备。

字体大小估算

sp 转 px 与 dp 会显示 fontScale 和密度,同时提示 Android 14 的非线性字体缩放无法靠浏览器公式精确复现。

静态色值生成代码

HEX 转 UIColor 后输出归一化 RGB 与 alpha,旁边给出 SwiftUI Color 代码;数值型初始化器也能反向读入。

结果适用的边界

不自动识别目标设备
浏览器的 devicePixelRatio 不能代替 Android 应用的 DisplayMetrics.density;需要自行提供目标设备上下文。
sp 不是精确真机值
Android 14 起字体可能非线性缩放;请在应用里用 TypedValue.applyDimension 或 deriveDimension 校验。
iOS 点数不是印刷点
此处 pt 仅指 UIKit/SwiftUI 布局 point,不能套用 CSS 或印刷的 1/72 英寸公式。
不解析动态颜色
UIColor.label、资源目录和深色模式颜色依赖运行环境。八位 HEX 在本工具固定按 RRGGBBAA 解读。

DP 转 PX 转换器常见问题

px、dip、dp 和 sp 有什么区别?

px 是屏幕像素;dip 与 dp 是 Android 密度无关单位;sp 还会跟随字体设置。输入目标密度,DP 转 PX 转换器 才能给出对应 px。

怎样把像素转换为 dp?

用 px 除以目标应用的 density。例如 32 px 在 xhdpi 的 2 倍密度下为 16 dp。

朗读并高亮的文字大小该用 dp 还是 sp?

文字大小一般用 sp,布局间距用 dp;本页的 sp 数字为线性估算,真机显示还受字体设置影响。

实际像素除了画图软件还有用吗?

有。位图资源、截图坐标和设备绘制最终会落到像素;布局尺寸仍宜用 dp 或 iOS point 描述。

预览和运行效果不同,是分辨率问题吗?

可能与密度、字体设置或设备缩放有关。先用实际 density 核对 dp 转 px,再在真机查看文本。

还有疑问?

带上设备参数使用 DP 转 PX 转换器

把目标密度或显示倍率填入 DP 转 PX 转换器,核对计算过程,再把结果交给设计或开发同事。