一文弄清像素

  1. 英寸: 屏幕的对边长度
  2. 像素: 将图片放到最大所看到的一个个小方格
  3. 分辨率: 屏幕1英寸所包含的像素点
  4. 物理分辨率: 屏幕实际的1英寸所包含的像素点,(如经常看到电脑标的2.5k等等)
    在浏览console中输入:
window.screen.width*window.devicePixelRatio
  1. 逻辑分辨率: 屏幕逻辑上的1英寸所包含的像素点(在开发中常用的,如css)
    在浏览console中输入:
window.screen.width
  1. 设备像素比(Device Pixel Ratio, DPR):一个设备的物理像素与逻辑像素之比。
    关于物理分辨率与逻辑分辨率的区别,引用知乎上的一段有趣回答

我们以mac的发展史来说明什么是物理分辨率,以及为什么需要衍生出逻辑分辨率。我们的主人公是乔帮主和比尔盖茨。此时乔帮主面前有一台mac,屏幕的分辨率是1280720,这就是物理分辨率。乔帮主对比尔盖茨说,给我的mac开发一个word软件吧。盖茨说OK,于是写了一个软件,这个软件显示的时候长度是1280像素,宽度是720像素,正好能够盖满整个mac屏幕。乔帮主看了之后很满意。有一天,乔帮主看自己的mac屏幕觉得很粗糙,一点都不清晰锐利。于是聪明的乔帮主想到,同样是15寸的屏幕,我把像素点翻倍,不就可以更清晰了吗?于是他把mac的物理分辨率改成了25601440的分辨率,相当于每个像素点的尺寸减少了4倍,这下再也看不出颗粒感了,乔帮主很满意。但是,当乔帮主打开盖茨给他写的word的时候,傻眼了,原本全屏的word现在只占屏幕的四分之一,而且文字非常的小。乔帮主打电话给盖茨说,你的软件怎么出问题了?盖茨回答说,我开发的时候你的mac分辨率就是1280720,你自己改了硬件尺寸怪我咯,我很忙没空给你改软件代码,你就凑合着用吧。乔帮主稍作思考,马上想出了一个非常聪明的主意!他在软件和硬件之间的系统层加了一层逻辑分辨率。虽然屏幕横向有2560个像素点,但是告诉软件我只有1280个像素点!当word的宽度要占1280个像素的时候,实际上已经占了2560个像素。 于是我们的word又占满屏幕了!于是乔帮主把这个机智的想法命名为逻辑分辨率,不管我显示器的硬件有多少个像素点,我只会告诉软件我的逻辑分辨率,这样软件的代码就不用修改也能在不同的屏幕上显示效果一致。在多年后,imac的物理分辨率已经达到了5120 x 2880,但是告诉软件的时候还是说我的分辨率是1280720,相当在盖茨看来的一个逻辑像素点,背后实际上已经有16个物理像素点为其工作了!
作者:暮成雪
链接:https://www.zhihu.com/question/40506180/answer/623203881
来源:知乎

  1. rpx: 小程序的尺寸单位,规定屏幕宽为750rpx,及750px的逻辑像素的设备 1px = 1rpx
    换算
var 屏幕逻辑像素宽度 = wx.getSystemInfoSync().windowWidth;
var 比列 =750/屏幕逻辑像素宽度;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值