了解Retina屏幕和Retina屏幕下图片的显示问题

今天被问到关于像素的问题,怒补了一下。

retina的原意是视网膜,retina屏就是通过技术把更多的像素点压缩到屏幕里,使肉眼无法识别屏幕上的单个像素。

那么问题来了,如何分辨retina屏呢?

首先了解几个名词:

设备像素比:window.devicePixelRatio(简称:dpr)

设备像素比(dpr) = 物理像素/设备独立像素

物理像素

  物理像素就是屏幕上的最小的物理部件,就是像素点,比如iphone6的物理像素就是750x1334

设备独立像素

也叫密度无关像素。可以认为是计算机坐标系统中得一个点,这个点代表一个可以由程序使用的虚拟像素(比如: css像素),然后由相关系统转换为物理像素。比如iphone6的设备独立像素就是375x667px

每英寸像素(pixel per inch):

表示每英寸屏幕上所拥有的像素个数。ppi越大,屏幕像素密度越大。

以iphone6为例:

iphone6的dpr = 1334/667 = 2

dpr为2是什么意思呢,看下图


retina-web-3.jpg

在普通屏幕上,1px的设备独立像素对应1物理像素。在retina屏幕下,1px的设备独立像素对应4物理像素。

位图像素

一个位图像素是栅格图像(如:png, jpg, gif等)最小的数据单元。

TB12ALnIpXXXXb1XVXXXXXXXXXX.jpg

在普通屏幕下,1个位图像素对应着1个物理像素,图片可以完美的显示。可是在retina屏幕下,1个位图像素对应着4个物理像素,由于位图像素不可以再分割,所以图片就会只能就进取色,导致图片模糊。
如何来处理这个问题呢。比如一个200 x 300的图片,如果想在retina屏幕上清晰显示的话,就要提供一个400 x 6002倍图片(@2x),这样的话,1个位图像素就会对应上retina屏上的1个物理像素。图片就不会模糊啦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 为什么模拟器下iP6的分辨率为375*667而设计图一般给750*1334? PPI:每英寸内有多少物理像素点(设...
    LoveBugs_King阅读 2,213评论 0 0
  • 刚开始做移动端web开发的同学应该都碰到过页面适配问题,为什么我在开发手机上调试好的页面在其他手机会有这样或那样的...
    留七七阅读 19,504评论 5 80
  • 一、meta标签的效果 移动端页面一般会在head头部添加如下meta标签。 该meta标签是否添加对页面渲染的影...
    nimw阅读 3,637评论 0 5
  • 我总是会不自觉的就在你面前说,你一定要好好学习,我为了你,放弃了我自己的成长,爸爸为了你,辛苦的工作。 我总是会把...
    一棵樹阅读 222评论 0 0
  • 红墙暖火,雪覆仟家。轩潢峤架,万里梨花。明年今朝,孤问芳华。
    鸣谦贞吉阅读 302评论 0 0