设备像素(物理像素/像素分辨率)

  1. 显示器的最小物理单位(对于一个显示器来说是固定的);
  2. 以手机屏幕为例,iphonex 像素分辨率为 1125x2436,是指屏幕横向能显示 1125 个物理像素点,纵向能显示 2436 个物理像素点;
  3. 通常说的 4K 显示屏指的是 4096x2160;

设备独立像素(dips)

  1. 比如我们偶尔会说 “电脑屏幕在 2560x1600 分辨率下不适合玩游戏,我们把它调为 1440x900”,这里的”分辨率”(非严谨说法)指的就是设备独立像素;
  2. 可在控制台通过 window.screen.width、window.screen.height 查看;
  3. 另外,平时我们所说的 iphoneX 的逻辑分辨率 375x812 指的就是设备独立像素,chrome 检查元素模拟调试手机设备时显示如 375x667 和 320x480 都是设备独立像素;
  4. 一个设备独立像素可能包含多个物理像素,包含的越多,显示越清晰;

CSS 像素

  1. 在页面不缩放的情况下,1px的CSS像素 === 1设备独立像素
  2. 页面放大 200% 时,页面的设备独立像素依旧不变,放大的是CSS像素,但是此时 CSS 像素与设备独立像素的关系变化了,1px === 4独立像素(宽x2,高x2);

PPI:每英寸的物理像素数

  1. 以尺寸为 5.8英寸(屏幕对角线长度)、分辨率为 1125x2436 的 iphonex 为例
  2. ppi = Math.sqrt(11251125 + 24362436)/5.8,值为 463ppi(屏幕对角线上的像素点/对角线的英寸数);

devicePixelRatio 像素比

  1. devicePixelRatio 指的是物理像素和设备独立像素的比,即 1 独立像素由多少物理像素渲染;
  2. dpr(device pixel ratio):设备像素比,设备像素/设备独立像素,代表设备独立像素到设备像素的转换关系,在 JS 中可以通过 window.devicePixelRatio 获取;
  3. window.devicePixelRatio = 物理像素/设备独立像素(dips);

高清屏部分图片失真

  1. 一些像素比较低的图片,在普通显示屏上可以显示,但在高清屏上会出现模糊的现象;
    • 原因是:假如有一张宽高为100px的图片,在不同屏幕上呈现的都是100px设备独立像素的图片,但对于高清屏来说,100px独立像素所需的物理像素比普通屏多得多;
    • 1px独立像素所含的物理像素越多,屏幕越高清;
    • 假如普通屏100px独立像素需要1W个像素点,高清屏得3W个, 但是图片本身包含的像素点可能远远达不到3W,这时候,图片就会拉伸自己的像素点,所以看起来就显得模糊了;
  2. 解决办法是:高清屏上图片的宽高设小一点,这样所需的物理像素就不用那么多了,屏幕显示图片所需的物理像素越接近图片,图片越高清;

矢量图永不失真

  1. 因为矢量图形不是一个个像素点显色的,而是通过给定的坐标数据进行绘制的,所以不会失真;

打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于产品、设计、开发的问题和看法,还有技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程

了解更多

目录

  1. 1. 设备像素(物理像素/像素分辨率)
  2. 2. 设备独立像素(dips)
  3. 3. CSS 像素
  4. 4. PPI:每英寸的物理像素数
  5. 5. devicePixelRatio 像素比
  6. 6. 高清屏部分图片失真
  7. 7. 矢量图永不失真