我正在阅读dp、dip、px、sp 测量值,但我仍然对 dp/dpi vs ppi vs px vs inch 有一些疑问。我无法比较它们……一英寸是最大的吗?
他们说 160 dpi 意味着每英寸 160 个像素。这是否意味着 1 英寸包含 160 个像素?
他们还说 160 dpi 屏幕上的 1 个像素 = 1 dp。这是否意味着 1 像素和 1 dp 相等?
最后,我们为什么要使用 dp 而不是 px?我知道这是理想的,但为什么呢?
我正在阅读dp、dip、px、sp 测量值,但我仍然对 dp/dpi vs ppi vs px vs inch 有一些疑问。我无法比较它们……一英寸是最大的吗?
他们说 160 dpi 意味着每英寸 160 个像素。这是否意味着 1 英寸包含 160 个像素?
他们还说 160 dpi 屏幕上的 1 个像素 = 1 dp。这是否意味着 1 像素和 1 dp 相等?
最后,我们为什么要使用 dp 而不是 px?我知道这是理想的,但为什么呢?
您应该(几乎)始终使用灵活的尺寸单位,例如dp
,它是与密度无关的像素,因为300px
在一台设备上的屏幕空间不一定与在另一台设备上相同300px
。最大的实际影响是,您的布局在密度与您的设计目标不同的设备上看起来会大不相同。
dp
或dip
表示与密度无关的像素dpi
或ppi
表示每英寸点数(或像素)inch
是与实际屏幕尺寸相关的物理测量值px
表示像素——一个像素根据密度填充任意数量的屏幕区域。例如,在160dpi
屏幕上,1dp == 1px == 1/160in
,但在240dpi
屏幕上,1dp == 1.5px
。所以不,1dp != 1px
。恰好有一种情况,那1dp == 1px
是在160dpi
屏幕上。像英寸这样的物理测量单位永远不应该成为您设计的一部分——也就是说,除非您正在制作尺子。
确定多少像素的一个简单公式1dp
是px = dp * (dpi / 160)
.
dp 是一种物理测量单位,如英寸。(是的,它是。继续阅读。)
“一个 dp 对应于 160 dpi 像素的物理尺寸”(https://developer.android.com/training/multiscreen/screendensities.html#TaskUseD)
160 dpi 像素的物理尺寸正好是 1/160 英寸。因此 dp 的大小是 1/160 英寸。160 dp = 1 英寸。
Px 是屏幕上有点随意的测量单位。
有关 dp 在不同设备上转换为 px 的示例,请参见此处:
dp、dip、dpi、ppi、像素和英寸如何关联?
对于android开发的目的:
dp = dip
dpi = ppi
inch x dpi = pixels
dp = 160 x inch
dp = 160*pixels/dpi
因此,在 160dpi 手机 (mdpi) 上:
2 inches = 320 dp
2 inches = 320 pixels
在 180 dpi 手机上:
2 inches = 320 dp
2 inches = 360 pixels
请注意,2 英寸始终为320dp,与屏幕尺寸无关。dp 是 1/160 英寸的物理距离。
dp 到像素的公式很有趣:
dp = 160*pixels/dpi
相当于:
dp = pixels/(dpi/160)
dpi/160
是一个有趣的因素。它与 android 的 mdpi bin 相比的相对密度以及您必须为各种资源 bin 缩放图形的数量。您将在此页面上看到多次提到该因素,0.75 是 ldpi 的因素。
DP 是仅考虑屏幕物理尺寸时的分辨率。当您使用 DP 时,它会将您的布局缩放到具有不同像素密度的其他类似大小的屏幕。
有时您实际上需要像素,并且当您在代码中处理尺寸时,您总是在处理真实像素,除非您转换它们。
当不是指android,而是指显示器时,DP实际上是指Dot Pitch,最初来自CRT显示器。它是指 2 个像素之间的对角线距离,以 mm 为单位。在 LCD 显示器中,一个像素较大,假设像素彼此相邻而没有间隙(通常有一个很小的间隙,但为简单起见,我们假设它为零),则 2 个中心之间的对角线距离每个像素等于像素的对角线大小。DP越低,图像越清晰。
DP = 25.4÷ppi 0.25 DP 是标准的,锯齿状边缘 0.20 DP 被认为更清晰 160 ppi = 0.158 DP
所以 DiP 实际上是 1000 x DP 的四舍五入近似值,并且 2 不等价,只是非常接近的近似值。
如前所述,你不应该基于像素大小,因为你可以缩放。这是为了在屏幕上显示的内容有多清晰。
在显示器中,如果您想要 20 英寸的清晰度(显示器到眼睛的平均距离)(< 0.20 DP 中等清晰度/0.16 DP 超清晰),这相当于:1920x1080 (HD) 17.4 英寸/14 英寸 3840x2160 (4K) 35英寸/27.8 英寸高分辨率手机的 DP 可能为 0.05(约 500 ppi),或比超清晰显示器高 3 倍,但观看距离更近 3 倍。
任何大于显示器尺寸的这些尺寸都会出现像素化,更小会更清晰。
另外值得注意的是,每英寸 72 像素是 Mac 标准,而且非常陈旧。96 ppi 是指 Windows 分辨率。Photoshop 最初是为 Mac 设计的。