当前位置: 首页 > news >正文

深入理解设备像素比

文章目录

  • 参考
  • 描述
  • 像素
  • 分辨率
      • 显示分辨率
      • 图像分辨率
      • 物理分辨率
      • 分辨率单位(仅部分)
          • DPI
          • PPI
  • 设备像素比
      • 设备物理像素
      • 设备独立像素
      • 设备像素比
          • 产生
          • 放大与缩小
  • 尾声

参考

项目描述
关于物理像素、逻辑像素(css像素)、分辨率、像素比的超详细讲解古达星球
设备像素比(devicePixelRatio)xueli_2017
百度百科查询
搜索引擎[Bing](必应 (bing.com))

描述

项目描述
操作系统Windows 10 专业版
Edge110.0.1587.41 (正式版本) (64 位)
物理分辨率1920 * 1080

像素

设备将图像显示到屏幕中,是以一个个小方格为单位对图像进行绘制的,这些小方格便是像素点,也即像素。

分辨率

显示分辨率

显示分辨率是指显示器在显示图像时的分辨率。通常以显示器的一行像素数乘一列像素数的表达式来表示显示器的分辨率,例如:

显示分辨率 1980x1024 表示显示器的每一行可以容纳 1980 个像素点,每一列可以容纳 1024 个像素点,显示屏共可容纳 2027520 个像素点。

图像分辨率

图像分辨率即图像中存储的信息量,通常以图像每一行所包含的像素点信息(颜色值,透明度等信息)的数量乘每一列所包含的像素点信息的数量的表达式来表示图像分辨率。

图像分辨率即图像中存储的信息量,在图像分辨率不变的情况下,你若对图像进行放缩操作,相关系统将做出如下行为:

  1. 在你对图像进行放大操作时,系统将通过相关算法对其进行像素补充。

  2. 在你对图像进行缩小操作时,系统将通过相关算法对其进行像素剔除。

物理分辨率

物理分辨率描述了设备可用于显示的格子数,在设备的生产过程中就已经被确定。物理分辨率决定了某一设备所能够支持的最大显示分辨率。

分辨率单位(仅部分)

除了使用 一行像素点数一列像素点数 的表达式来表示分辨率外,还可以使用分辨率单位来表示分辨率的大小。

DPI

DPIDOTS PER INCH(每英寸点数),该单位描述了每英寸距离含有多少个打印点。像素单位 DPI 常用于印刷领域。

PPI

PPIPixels 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% 。缩放完毕后,我们再次观察其设备像素比。

请添加图片描述

可以看到,在页面放大了两倍后,设备像素比也放大了两倍。

尾声

💕欢迎建议💕 如果你对这篇博客右什么意见,欢迎指出。

💞欢迎提问💞 如果各位对文章中的某些内容不太理解,欢迎提问。

http://www.lryc.cn/news/12611.html

相关文章:

  • Revisiting Distributed Synchronous SGD 带有Back-up机制的分布式同步SGD方法 论文精读
  • shiro CVE-2020-13933
  • 斐波那契数列(递归+迭代)
  • 2022黑马Redis跟学笔记.实战篇(六)
  • Linux-VMware常用设置(时间+网络)及网络连接激活失败解决方法-基础篇②
  • vue3学习总结1
  • SpringBoot统一功能处理
  • 2022年3月电子学会Python等级考试试卷(五级)答案解析
  • 【C++】智能指针
  • Seata架构篇 - AT模式
  • 加油站会员管理小程序实战开发教程12
  • 用腾讯云同步Obsidian笔记
  • 浅析C++指针与引用,栈传递的关系
  • 图解LeetCode——剑指 Offer 10- II. 青蛙跳台阶问题
  • 【Linux】用户分类+权限管理+umask+粘滞位说明
  • 【干货】如何打造HR无法拒绝的简历?测试开发大牛带手把手你写简历!
  • nodejs学习-4:nodejs连接mongodb和相关操作
  • 【博客629】Linux DNS解析原理与配置
  • 【CSP】202212-2 训练计划
  • java基础学习 day42(继承中构造方法的访问特点,this、super的使用总结)
  • 生物医药多组学与生物信息方法介绍
  • 3|物联网控制|计算机控制-刘川来胡乃平版|第2章:计算机控制系统中的检测设备和执行机构-2.2过程控制中常用的执行器|课堂笔记|ppt
  • 【进阶篇】线程的硬件基础
  • 关于 ISP Tuning的学习,分享几点看法
  • RocketMQ源码阅读
  • 重磅 | 小O软件新品【鲸鱼地图】发布
  • 软考高级信息系统项目管理师系列之二十五:项目合同管理
  • 测试开发之Django实战示例 第十三章 上线
  • python实战应用讲解-【语法基础篇】Python中的数值类型(附示例代码)
  • Git常用命令以及如何在IDEA中使用Git