深入理解设备像素比
文章目录
- 参考
- 描述
- 像素
- 分辨率
- 显示分辨率
- 图像分辨率
- 物理分辨率
- 分辨率单位(仅部分)
- DPI
- PPI
- 设备像素比
- 设备物理像素
- 设备独立像素
- 设备像素比
- 产生
- 放大与缩小
- 尾声
参考
项目 | 描述 |
---|---|
关于物理像素、逻辑像素(css像素)、分辨率、像素比的超详细讲解 | 古达星球 |
设备像素比(devicePixelRatio) | xueli_2017 |
百度百科 | 查询 |
搜索引擎 | [Bing](必应 (bing.com)) |
描述
项目 | 描述 |
---|---|
操作系统 | Windows 10 专业版 |
Edge | 110.0.1587.41 (正式版本) (64 位) |
物理分辨率 | 1920 * 1080 |
像素
设备将图像显示到屏幕中,是以一个个小方格为单位对图像进行绘制的,这些小方格便是像素点,也即像素。
分辨率
显示分辨率
显示分辨率是指显示器在显示图像时的分辨率。通常以显示器的一行像素数乘一列像素数的表达式来表示显示器的分辨率,例如:
显示分辨率 1980x1024 表示显示器的每一行可以容纳 1980 个像素点,每一列可以容纳 1024 个像素点,显示屏共可容纳 2027520 个像素点。
图像分辨率
图像分辨率即图像中存储的信息量,通常以图像每一行所包含的像素点信息(颜色值,透明度等信息)的数量乘每一列所包含的像素点信息的数量的表达式来表示图像分辨率。
图像分辨率即图像中存储的信息量,在图像分辨率不变的情况下,你若对图像进行放缩操作,相关系统将做出如下行为:
-
在你对图像进行放大操作时,系统将通过相关算法对其进行像素补充。
-
在你对图像进行缩小操作时,系统将通过相关算法对其进行像素剔除。
物理分辨率
物理分辨率描述了设备可用于显示的格子数,在设备的生产过程中就已经被确定。物理分辨率决定了某一设备所能够支持的最大显示分辨率。
分辨率单位(仅部分)
除了使用 一行像素点数 乘 一列像素点数 的表达式来表示分辨率外,还可以使用分辨率单位来表示分辨率的大小。
DPI
DPI 即 DOTS PER INCH(每英寸点数),该单位描述了每英寸距离含有多少个打印点。像素单位 DPI 常用于印刷领域。
PPI
PPI 即 Pixels Per Inch (每英寸像素数),该单位描述了每英寸距离含有多少个像素点。
设备像素比
设备物理像素
设备物理像素在设备的生产过程中就已被指定,单位为 pt 。你可以使用 1pt * 1pt 表示设备用于显示像素的物理格子的大小。
设备独立像素
设备独立像素即定义 UI 布局时所使用到的虚拟像素单位,在网页设计过程中使用到的 px 等单位就是设备独立像素中的一种。程序在遇到设备独立像素时,将通过一定的规则(设备像素比)将其转换为设备物理像素。
设备像素比
产生
由于屏幕尺寸及分辨率的不同,同样分辨率大小的图片将以不同尺寸的物理大小(厘米,米等单位计量)展示在设备中,这会影响客户的体验。
举个栗子
在分辨率为 375*667 的设备中,12px 大小的文字显示效果如下:
而在分辨率为 750*1334 的设备中,12px 大小的文字的显示效果为:
为了减小屏幕尺寸及分辨率对网页页面的显示带来的影响,设备像素比应运而生。
设备像素比
设备像素比与设备物理像素及设备独立像素的关系为:
设备像素比 = 设备物理像素 / 设备独立像素
设备像素比为设备独立像素到设备物理像素的转换提供了依据。以 iPhon SE 为例,其物理分辨率为 750*1334 ,而其默认的设备像素比为 2,因此 iPhone SE 显示网页内容时,将使用 2pt 设备物理像素显示 1px 设备独立像素的所包含的内容,显示内容的物理大小(厘米,米等物理单位)与相同设备尺寸但分辨率为 375 * 667 的设备无异。
放大与缩小
网页的放大与缩小改变的内容其实是当前页面(当前页面的放大或缩小并不会影响该浏览器的其他标签页)所使用的设备像素比,放大页面将增大设备像素比,缩小页面将减小设备像素比。
在 JavaScript 中,你可以使用如下代码输出当前设备在当前页面下使用的设备像素比。
console.log(window.devicePixelRatio);
在浏览器的控制台(位于浏览器的开发者工具中)中,你可以直接使用 window.devicePixelRatio 来输出当前设备在当前页面使用的设备像素比。
举个栗子
可以看到,我的浏览器使用的默认设备像素比为 1.25 。现在,我将对该页面缩放至 200% 。缩放完毕后,我们再次观察其设备像素比。
可以看到,在页面放大了两倍后,设备像素比也放大了两倍。
尾声
💕欢迎建议💕 如果你对这篇博客右什么意见,欢迎指出。
💞欢迎提问💞 如果各位对文章中的某些内容不太理解,欢迎提问。
相关文章:

深入理解设备像素比
文章目录参考描述像素分辨率显示分辨率图像分辨率物理分辨率分辨率单位(仅部分)DPIPPI设备像素比设备物理像素设备独立像素设备像素比产生放大与缩小尾声参考 项目描述关于物理像素、逻辑像素(css像素)、分辨率、像素比的超详细讲…...

Revisiting Distributed Synchronous SGD 带有Back-up机制的分布式同步SGD方法 论文精读
论文链接:Revisiting Distributed Synchronous SGD ABS 本文介绍了用于分布式机器学习的同步和异步SGDSGDSGD,同时指出各自的缺点:stragglersstragglersstragglers和stalenessstalenessstaleness。 同时为了解决同步SGDSGDSGD存在straggle…...

shiro CVE-2020-13933
0x00 前言 同CVE-2020-1957,补充一下笔记,在CVE-2020-1957的基础上进行了绕过。 影响版本:Apache Shiro < 1.6.0 环境搭建参考:shiro CVE-2020-1957 0x01 漏洞复现 CVE-2020-13933中使用%3b绕过了shiro /*的检测方式&…...

斐波那契数列(递归+迭代)
目录什么是斐波那契数列递归写法使用递归写法的缺点迭代写法(效率高)什么是斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多斐波那契(Leonardo Fibonacci)以兔子繁殖为例…...

2022黑马Redis跟学笔记.实战篇(六)
2022黑马Redis跟学笔记.实战篇 六4.7.达人探店功能4.7.1.分享探店图文1. 达人探店-发布探店笔记2. 达人探店-查看探店笔记4.7.2.点赞功能4.7.3.基于List实现点赞用户列表TOP104.7.4.基于SortedSet实现点赞排行榜4.8.关注列表4.8.1.关注列表实现原理4.8.2.添加关注1. 好友关注-关…...

Linux-VMware常用设置(时间+网络)及网络连接激活失败解决方法-基础篇②
目录一、设置时间二、网络设置1. 激活网卡方法一:直接启动网卡(仅限当此)方法二:修改配置文件(永久)2. 将NAT模式改为桥接模式什么是是NAT模式?如何改为桥接模式?三、虚拟机网络连接…...
vue3学习总结1
一.vue3与vue2相比带来哪些变化?a.性能的提升(包括打包大小减少,初次渲染的速度加快,更新渲染速度加快,内存减少)b.源码的升级(响应式的原理发生了变化,由原来的defineProperty变成了…...

SpringBoot统一功能处理
一、统一用户登录权限验证 1.1Spring拦截器 实现拦截器需要以下两步: 1.创建自定义拦截器,实现 HandlerInterceptor 接⼝的 preHandle(执行具体方法之前的预处理)方法。 2.将⾃定义拦截器加⼊ WebMvcConfigurer 的 addIntercept…...
2022年3月电子学会Python等级考试试卷(五级)答案解析
目录 一、单选题(共25题,共50分) 二、判断题(共10题,共20分) 三、编程题(共3题,共30分) 青少年软件编程(Python)等级考试试卷(五级&#...

【C++】智能指针
目录 一、先来看一下什么是智能指针 二、 auto_ptr 1、C98版本 2、C11的auto_ptr 三、boost 库中的智能指针 1. scoped_ptr 2、shared_ptr(最好的智能指针) 四、C11中新提供的智能指针 unique_ptr shared_ptr std::shared_ptr的循环引用问题…...

Seata架构篇 - AT模式
AT 模式 概述 Seata AT 模式是一种非侵入式的分布式事务解决方案,Seata 在内部做了对数据库操作的代理层,我们使用 Seata AT 模式时,实际上用的是 Seata 自带的数据源代理 DataSourceProxy,Seata 在这层代理中加入了很多逻辑&am…...

加油站会员管理小程序实战开发教程12
我们上一篇介绍了会员数据源的开发,本节我们介绍一下会员注册功能。 首先呢梳理一下会员注册的业务逻辑,如果用户是首次登录,那他肯定还没有给我们的小程序提交任何的信息。那么我们就在我的页面给他显示一个注册的按钮,如果他已经注册过了,那么就正常显示会员的信息,他…...

用腾讯云同步Obsidian笔记
介绍 之前用gitee同步OB笔记,同时做图床。但由于git系产品设置起来相对复杂,且后续可能有外链过审等问题。周五被同事小姐姐安利了用腾讯云COS,试了一下,果然不错。其主要优点如下: 设置简单,学习成本低&…...

浅析C++指针与引用,栈传递的关系
目录 前言 C 堆指针 栈指针 常量指针 指针常量 引用 常量引用 总结 前言 目前做了很多项目,接触到各种语言,基本上用什么学什么,语言的边际就会很模糊,实际上语言的设计大同小异,只是语言具备各自的特性区别。…...

图解LeetCode——剑指 Offer 10- II. 青蛙跳台阶问题
一、题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e97(1000000007),如计算初始结果为:1000000008,请返回 1。 二、示例 2.1>…...

【Linux】用户分类+权限管理+umask+粘滞位说明
目录 1.用户分类 su指令 2.认识Linux权限 2.1 文件访问者的分类 2.2 文件类型和访问权限 a. 文件类型 file指令 b. 访问权限 2.3 文件权值的表示方法 a. 字母表示法 b. 八进制表示法 3.如何修改文件访问者的权限及相关指令 1. chmod指令 2. chown指令 3. chgrp指…...

【干货】如何打造HR无法拒绝的简历?测试开发大牛带手把手你写简历!
通过率90%,优秀的软件测试简历长什么样? 也许口才好的人会觉得简历不重要,能说就行了,那是因为你没有体会过石沉大海的感觉! 很多人觉得疑惑,为什么我投了那么多简历,都没有接到面试通知&…...

nodejs学习-4:nodejs连接mongodb和相关操作
1. express生成器生成express模板 前提需要首先下载好:express-generator,命令如下(全局安装) npm install -g express-generator生成模板命令如下: express 项目名称 --viewejs // --view 参数表示前端界面使用的引擎,这里使用…...
【博客629】Linux DNS解析原理与配置
Linux DNS解析原理与配置 1、DNS缓存 作用: 程序客户端、下游的 DNS 服务器每次查询 DNS 成功之后,通常会将该 DNS 记录缓存一段时间,避免频繁发出查询请求的耗时。 Linux下的DNS缓存: Linux 系统默认不会在本地建立 DNS 缓存…...
【CSP】202212-2 训练计划
题目 问题背景 西西艾弗岛荒野求生大赛还有 天开幕! 问题描述 为了在大赛中取得好成绩,顿顿准备在 天时间内完成“短跑”、“高中物理”以及“核裂变技术”等总共 项科目的加强训练。其中第 项( )科目编号为 ,也可简…...

moon游戏服务器-demo运行
下载地址 https://github.com/sniper00/MoonDemo redis安装 Redis-x64-3.0.504.msi 服务器配置文件 D:\gitee\moon_server_demo\serverconf.lua 貌似不修改也可以的,redis不要设置密码 windows编译 安装VS2022 Community 下载premake5.exe放MoonDemo\server\moon 双…...

单片机的低功耗模式
什么是低功耗? STM32的低功耗(low power mode)特性是其嵌入式处理器系列的一个重要优势,特别适用于需要长时间运行且功耗敏感的应用场景,如便携式设备、物联网设备、智能家居系统等。 在很多应用场合中都对电子设备的…...
链表题解——环形链表【LeetCode】
141. 环形链表 方法一 核心思想: 使用一个集合 seen 来记录已经访问过的节点。遍历链表,如果当前节点已经存在于集合中,说明链表存在环;否则,将当前节点添加到集合中,继续遍历。如果遍历结束(h…...

Python-进程
进程 简介 操作系统分配资源的基本单位 创建 依赖 依赖模块 multiprocessing 中的 Process 语法 Process(group[,target[,name[,args[,kwargs]]]]) target:如果传递了函数的引用,这个子进程就执行这里的代码args:元组的方式传递&#x…...

常用函数库之 - std::function
std::function 是 C11 引入的通用可调用对象包装器,用于存储、复制和调用任意符合特定函数签名的可调用对象(如函数、lambda、函数对象等)。以下是其核心要点及使用指南: 核心特性 类型擦除 可包装任意可调用对…...
php执行系统命令的四个常用函数
php执行系统命令有四个常用函数:1.exec()执行命令并返回最后一行输出,可传数组获取全部结果;2.shell_exec()返回完整输出结果,适合一次性获取;3.system()直接输出命令结果,可接收状态码;4.权限控…...
Windows 系统安装 Redis 详细教程
Windows 系统安装 Redis 详细教程 一、Redis 简介 Redis(Remote Dictionary Server)是一个开源的、基于内存的高性能键值存储系统,常被用作数据库、缓存和消息中间件。相比传统数据库,Redis 具有以下优势: 超高性能…...

Pluto论文阅读笔记
主要还是参考了这一篇论文笔记:https://zhuanlan.zhihu.com/p/18319150220 Pluto主要有三个创新点: 横向纵向用lane的query来做将轨迹投回栅格化地图,计算碰撞loss对数据进行正增强和负增强,让正增强的结果也无增强的结果相近&a…...

ISO 17387——解读自动驾驶相关标准法规(LCDAS)
Intelligent transport systems — Lane change decision aid systems (LCDAS) — Performance requirements and test procedures(First edition: 2008-05-01) 原文链接:https://cdn.standards.iteh.ai/samples/43654/701fd49bde7b4d3db165444b7c6f0c53/ISO-17387…...
daz3d + PBRSkin (MDL)+ SSS
好的,我们来解释一下 Daz3D 中的 PBRSkin (MDL) Shader。 简单来说,PBRSkin (MDL) 是 Daz Studio 中一种基于物理渲染(PBR)技术、专门用于创建高度逼真人物皮肤效果的着色器(Shader)。 它利用 NVIDIA 的材…...