news 2026/3/31 0:57:20

什么是物理像素和逻辑像素?设备像素比(DPR)是什么?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
什么是物理像素和逻辑像素?设备像素比(DPR)是什么?

物理像素和逻辑像素

物理像素

物理像素是指设备屏幕上实际存在的发光点,是屏幕显示的最小物理单位。例如:

  • iPhone 14 Pro 的屏幕分辨率为 2556×1179,这意味着它有 2556×1179 个物理像素
  • 物理像素是硬件固定的,无法通过软件改变

逻辑像素

逻辑像素是 CSS 像素,是 Web 开发中使用的抽象单位。它是一个相对单位,浏览器会根据设备的特性将其映射到物理像素上。例如:

  • 当你设置width: 100px时,这里的 100px 指的是逻辑像素
  • 逻辑像素的大小会根据设备的 DPI(每英寸点数)自动调整

设备像素比(DPR)

定义

设备像素比(Device Pixel Ratio,简称 DPR)是物理像素与逻辑像素的比值:

DPR = 物理像素 / 逻辑像素

常见设备的 DPR 值

设备类型DPR 值说明
普通显示器11个逻辑像素 = 1个物理像素
iPhone 6/7/821个逻辑像素 = 2×2个物理像素
iPhone 14 Pro31个逻辑像素 = 3×3个物理像素
MacBook Pro (Retina)21个逻辑像素 = 2×2个物理像素

DPR 的作用

  1. 保持视觉一致性:通过 DPR,不同设备上相同逻辑像素的元素看起来大小相近
  2. 提高显示清晰度:高 DPR 设备用更多物理像素显示一个逻辑像素,使图像更清晰
  3. 响应式设计:开发者可以根据 DPR 调整图片和布局

在 JavaScript 中获取 DPR

// 获取设备像素比constdpr=window.devicePixelRatio||1;console.log('设备像素比:',dpr);

在 CSS 中处理 DPR

/* 针对高 DPR 设备加载高清图片 */@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.logo{background-image:url('logo@2x.png');background-size:100px 50px;}}/* 针对普通 DPR 设备 */@media(-webkit-max-device-pixel-ratio:1.5),(max-resolution:191dpi){.logo{background-image:url('logo.png');}}

在 Canvas 中处理 DPR

constcanvas=document.getElementById('myCanvas');constctx=canvas.getContext('2d');constdpr=window.devicePixelRatio||1;// 获取 CSS 设置的逻辑尺寸constrect=canvas.getBoundingClientRect();// 设置 canvas 的物理像素尺寸canvas.width=rect.width*dpr;canvas.height=rect.height*dpr;// 缩放绘图上下文,使绘图操作使用逻辑像素ctx.scale(dpr,dpr);// 现在可以使用逻辑像素进行绘图ctx.fillRect(0,0,100,100);// 实际上会在 200×200 的物理像素区域绘制

实际应用场景

  1. 图片适配:为不同 DPR 设备提供不同分辨率的图片(如image.pngimage@2x.pngimage@3x.png
  2. Canvas 绘图:确保 Canvas 在高 DPI 屏幕上清晰显示
  3. 移动端开发:处理不同设备的显示差异
  4. 响应式设计:根据设备特性调整布局和字体大小

理解这些概念对于开发跨设备、跨平台的高质量 Web 应用非常重要!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/28 2:54:50

大模型训练全周期详解:从预训练到RLHF的完整技术路径

本文系统梳理了大语言模型训练全周期的四个核心阶段:预训练、有监督微调、奖励建模和强化学习。预训练阶段通过海量数据构建基础语言能力;SFT阶段使模型学会遵循人类指令;奖励建模和RLHF阶段则将人类价值观编码到模型中,提升输出的…

作者头像 李华
网站建设 2026/3/27 19:35:37

构建AI Agent的自适应学习系统

构建AI Agent的自适应学习系统 关键词:AI Agent、自适应学习系统、机器学习、强化学习、神经网络 摘要:本文旨在深入探讨构建AI Agent的自适应学习系统这一前沿技术领域。通过详细阐述自适应学习系统的核心概念、算法原理、数学模型,结合项目实战案例,展示如何实现一个高效…

作者头像 李华
网站建设 2026/3/28 18:35:26

搭建终身学习系统时,AI应用架构师容易犯哪些错?(避坑指南)

AI应用架构师搭建终身学习系统的10个常见坑与避坑指南 副标题:从数据管道到模型部署的实践教训 摘要/引言 在AI从“静态工具”转向“动态系统”的今天,终身学习(Lifelong Learning) 已成为企业保持AI竞争力的核心能力——它让模型…

作者头像 李华
网站建设 2026/3/27 14:06:23

前端萌新别慌!30分钟搞懂CSS阴影:text-shadow和box-shadow实

前端萌新别慌!30分钟搞懂CSS阴影:text-shadow和box-shadow实 前端萌新别慌!30分钟搞懂CSS阴影:text-shadow和box-shadow实战指南先别急着写代码,咱先吐槽五分钟先整点能跑的,把士气提上来text-shadow&#…

作者头像 李华
网站建设 2026/3/30 12:10:39

指针进阶:二级指针与指针的指针的应用场景

指针进阶:二级指针与指针的指针的应用场景 在C指针学习中,二级指针(又称指针的指针)是从基础指针迈向进阶的关键节点。前文我们了解到,一级指针存储的是普通变量的内存地址,而二级指针的核心是“存储一级指…

作者头像 李华