dpi,分辨率,dp,sp,px这些东西,相信每个android开发者都不陌生,但是这几者之间的关系,能够说得清清楚楚的,我相信并不多。
看完这篇博客,希望能让你彻彻底底的理解它们。
一. DPI
首先说dpi,废话是:每英寸的像素点数(Dots Per Inch,其实这么说不够严谨,真正的”每英寸像素点数”,其实是PPI,Pixels Per Inch,而DPI实际上是每英寸打印点数,是一个印刷上的计量单位,但是因为android开发没有PPI这个概念,而是一直在用DPI,而手机屏幕上也只有像素点数没有打印点数,所以我们一般都会理解成每英寸的像素点数)。
那它到底有什么用?我给大家放两张图你们感受一下。
为了好比较,我特地把两张图片的尺寸(这里我指的是宽和高)做成了一样。
大家可以看到,虽然两张图片尺寸一样,但是能呈现给大家的内容明显是不一样的。第一张图我不负责任的数了下,我们把每个最小的矩形色块作为一个像素点,大概整张图的像素点是17*13个,也就是200多个的色块(像素点)来组成的一个马里奥。
而第二张图呢,用比较大众的话来说,是“高清图“。但是跟第一张图有明显的色块来比较,它好像没有什么色块,也就是说我们也不能断定这货到底是色块多,还是色块少。
别着急,作为一个会photoshop的厨子来说,这点问题都不叫事儿。
你们看到第二张图里的马里奥头顶的M标志了吧,对,就是下面黑框里这个:
我用photoshop放大了3200倍,得到如下的图: