像素(物理像素dp、逻辑像素dip、物理像素 / 逻辑像素drp)

news2024/12/24 0:16:30

1、像素

px实际是pixel(像素)的缩写,它是图像显示的基本单元,既不是一个确定的物理量,也不是一个点或者小方块,而是一个抽象概念

  • 一个个的小格子被定义为一个单位,叫做 像素 ,2像素就是指占据了两个小格子的大小。
  • 当然,我们描述一个图片占的小格子数总不能一个个地数小格子吧,图片是矩形,因此常常描述一个图片尺寸时就说多少乘多少像素,像素就是小格子,比如一张图片的尺寸是 300 * 300 像素,也就是说该图片的长、宽都有300个小格子,该图片一共占 300 * 300 = 90000 个小格子。
  • 像素是个类似厘米或毫米一样的定义好的单位,专门用于电子屏幕上描述图形尺寸的单位。但是像素不像厘米、毫米等长度单位一样有固定的大小,像素是没有固定大小的,我们只要知道 1像素 就是一个小格子就可以了。

像素大致分为2种像素单位:

  1. 物理像素(设备像素);
  2. 逻辑像素(设备独立像素)

1.1物理像素(设备像素-device pixels)

1个物理像素就代表1个真实的像素点,是设备屏幕能控制显示的最小单位,我们常说的1920×1080像素分辨率就是用的物理像素单位。

1.2逻辑像素(设备独立像素-device independent pixels)

逻辑像素:是与设备屏幕无关的像素,它可以通过程序控制使用的虚拟像素,是一个总体概念。逻辑像素中包括了CSS像素。

逻辑像素就是在物理像素的基础上,人为定义的一层抽象的像素。

  • 举个例子,一个屏幕的物理像素是2560*1440,但是我们可以人为定义这个屏幕要按照1280*720的像素来展示内容,所以就导致这个屏幕里的1个逻辑像素就得用4个物理像素来显示了。
  • 传统的pc屏幕,1个物理像素就等于1个逻辑像素。但是现在市面上有很多高清屏幕,比如苹果的retina屏幕(视网膜高清屏幕),这是让1个逻辑像素点用多个物理像素点显示,相当于屏幕分辨率更高了,一样的屏幕中,像素数量更多了,所以高清屏的画质就更加清晰锐利,显示效果出众。【说人话就是:普通手机,一行有100个像素块;高清手机,一行有400个像素块】

  • 设计师出图时会有2x、3x的图,也是为了去适配高清屏幕。现在去看Macbook Pro的屏幕参数都是比较大的比如:2560 x 1600;这里的这个2560 x 1600都是物理分辨率,实际macbook的逻辑分辨率可能只有1440*900。(也就是说Macbook Pro的高清屏幕是2个物理像素组成一个逻辑像素

看了上面的案例,你就能理解像素是个抽象概念了吧,毕竟可以让不同数量的物理像素组成一个逻辑像素来实现更高清的屏幕,像素没有一个固定的大小,是个相对的单位。

1.3css像素(逻辑像素的一种)

css像素适用于web编程,指的是我们在前端样式代码中使用到的逻辑像素,是逻辑像素的一种,默认情况下,web页面的缩放比为100%,那么,1css像素=1逻辑像素=1物理像素。

  • 在同一个设备上,每1个 CSS 像素所代表的设备像素是可以变化的(比如调整屏幕的分辨率,放大网页)
  • 在不同的设备之间,每1个 CSS 像素所代表的设备像素是可以变化的(比如两个不同型号的手机,屏幕的分辨率不同)

放大网页后,1px(css像素)占用屏幕的物理像素数量更多了。


2、物理分辨率和逻辑分辨率

现在我们搞清楚了物理像素和逻辑像素,那么就应该知道物理分辨率和逻辑分辨率的含义了。我们通常说的13寸的macbook Pro分辨率是2560*1600就是物理分辨率但是因为它的屏幕用2个物理像素展示1个逻辑像素,所以实际上macbook的屏幕可能只能显示1280*800分辨率大小的内容,那么1280*800就是它的逻辑分辨率


3、物理像素 / 逻辑像素

物理像素与逻辑像素二者的比值,被定义为一个【设备像素比】(devicePixelRatio),简称 dpr ,运算公式为:

 DPR = 物理像素(设备像素) / 逻辑像素(设备独立像素)

设备像素比(dpr) 是指在移动开发中1个css像素占用多少物理像素(设备像素),比如dpr=2就代表1个css像素(逻辑像素)用2个物理像素来绘制。

注:通常人们在交流设备屏幕的时候通常也会告诉别人设备的ppi是多少而并非是dpr,虽然dpr更能代表一个屏幕是否是高清屏幕。


参考文章:

像素 / 分辨率 / 物理像素和逻辑像素 - 掘金

设计师的前端知识:搞清楚像素、设备像素、设备独立像素、dpr、ppi、逻辑分辨率、物理分辨率 - 知乎

图文并茂带你弄懂物理分辨率、分辨率、物理像素、逻辑像素、dpr、ppi_砖业洋__的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/463143.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Android Framework (八) 】- Service

文章目录 知识回顾启动第一个流程initZygote的流程system_serverServiceManagerBinderLauncher的启动AMS 前言源码分析1.startService2.bindService 拓展知识1:Service的两种启动方式对Service生命周期有什么影响?2:Service的启动流程3:Service的onStartCommand返回…

国内直接使用的ChatGTP

ChatGTP都能做一些什么事: 回答问题:我可以通过自然语言处理技术来回答用户的问题,提供有用的信息和解决方案。 聊天互动:我可以和用户聊天互动,倾听对话和提供支持。 搜索:我可以搜索互联网和已知的数据…

宠物领养系统【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设!!! 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址:https://download.csdn.net/download/qq_50954361/87708775 更多系统资源库…

Word行距怎么设置?基础设置,必会的4个方法!

案例:Word行距怎么设置 【各位朋友,谁知道Word行距怎么设置呀?今天写文章时,感觉所有文字都挤在一起,非常不美观,想调一下行距,在线等一个简单的方法!】 Word作为打工人和学生党必…

多种内网穿透的实现方案

1. 内网穿透的应用场景 1.1. 开发调试 比如企业微信、钉钉等开发,需要一个回调地址,开发的时候,希望回调到开发的电脑上,打断点进行调试,这就需要穿透到内网的开发机器。 1.2. 演示测试 有需要演示或测试的系统&am…

Kubeadm方式搭建K8s集群【1.26.0版本】

文章目录 一、集群规划及架构二、系统初始化准备(所有节点同步操作)三、安装并配置Containerd容器运行时四、安装kubeadm(所有节点同步操作)五、初始化集群六、Node节点添加到集群七、安装网络组件Calico八、测试CoreDNS解析可用性九、拓展1、ctr和crictl命令具体区别 一、集群…

【c++ 之 多态】

目录: 前言多态认识多态多态的定义与实现构成多态的条件虚函数1.协变(基类与派生类虚函数返回值不同)2.析构函数的重写c11.两个虚函数修饰关键字:final & override 重载、重写、重定义再理解 抽象类抽象类的概念接口继承与实现…

强大的JSON格式化和编辑工具zjson

本文软件应网友 小超 的需求而制作,软件本身已经 2年未更新,请知悉~ 什么是 zjson ? 转杰森(zjson) 是一个强大的 JSON 格式化和编辑工具,支持在线版和 Electron应用安装,使用 MEAN-STACK ( MongoDB Expr…

【ArcGIS】常见问题总结

1 arcgis如何打开*.adf文件 在处理数据时发现,获取到的土地利用类型数据有两个文件夹,一个叫info,另一个叫lucc2010(年份),打开lucc2010里面是一系列的*.adf文件,数据应该如何打开呢&#xff1…

Red Hat Enterprise Linux 9的简介

1.3 Red Hat Enterprise Linux 9的简介 2022年5月,红帽公司(Red Hat)发布了Red Hat Enterprise Linux 9.0(简称RHEL 9.0)正式版。Red Hat Enterprise Linux是全球领先的企业级Linux操作系统,已获得数百个…

重大剧透:你不用ChatGPT,它砸你饭碗

早晨看到路透社报道,盖茨说,与其争论技术的未来,不如专注于如何更好地利用人工智能。 这可能是他对马斯克他们呼吁暂停AI研发6个月的一种回应吧。 有种古语说:天下大势,浩浩汤汤,顺之者昌,逆之者…

ai模型训练生成效果 chilloutmix_NiPrunedFp32Fix.safetensors

模型名称: chilloutmix_NiPrunedFp32Fix.safetensors 关键词 extremely detailed CG unity 8k wallpaper,(masterpiece),(best quality),(ultra detailed),(ultra realistic),(Best character details:1.2),dynamic angle,professional lighting, photon mapping, …

【4. ROS的主要通讯方式:Topic话题与Message消息】

【4. ROS的主要通讯方式:Topic话题与Message消息】 1. 前言1.1 王者解释结点通讯:1.2 通讯小结 2. 灵活的Topic话题图解2.1 话题注意细节2.2 外延补充 3. Message消息图解3.1 消息类型3.2 查看标准消息类型std_msgs 4. 使用C实现Publisher发布者4.1 发布…

自动化工具 WEB 自动化工具

背景 使用自动化测试框架编写用例的时候,维护元素信息以及脚本较为麻烦。对应新手来说,编写脚本的能力有限,使用工具会更容易入手。最重要的是可视化操作让我觉得体验舒服。 演示地址 地址:hippo 账号:test 密码&am…

探索文件世界:用Python创建交互式文件浏览器

目录 引子: 应用场景: 源代码: 源代码说明: 效果如下所示: D:\spiderdocs\previewjpegmdfile.py 引子: 在许多应用程序中,需要方便地查看特定文件夹中的所有图片,例如图库管理器、相册应用…

泛型(一)

泛型:标签(类型参数) 所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型…

Python 数据存储 ---->方式

我的个人博客主页:如果’真能转义1️⃣说1️⃣的博客主页 关于Python基本语法学习---->可以参考我的这篇博客:《我在VScode学Python》 数据存储是指在数据加工处理过程中将产生的临时文件或加工结果以某种格式保存。 常用的数据存储格式包括 TXT、Exc…

Java线程池常见面试题详解

线程池 池化技术 池化技术是一种常见的编程技巧, 把一些能够复用的东西(比如说数据库连接、线程)放到池中,避免重复创建、销毁的开销,在需要时可以重复使用这些预先准备的资源,从而极大提高性能。(提前保存大量资源,…

人生路上就是要不断打破认知边界

2023-4-25分享新知1.多角度看问题,竭尽全力才能找到突破口。结合客户需求解决问题2.新产品&有用的产品对用户提供有价值的产品3.全力就是所有部门都参与开发新产品,好机会就是有时间开发新产品,好产品就是一家企业的底气,产品…

SpringBoot 2.7.X 一套代码适配多种数据库讲解(图文详细)

文章目录 SpringBoot 2.7.X 一套代码适配多种数据库讲解(图文详细)1 简介1.1 概述1.2 环境安装1.3 测试脚本 2 基于Mybatis 方式2.1 添加DatabaseIdProvider配置2.2 在Mybatis的XML中,指定SQL语句的databaseId标签2.3 控制器接口样例2.4 呈现效果 3 基于MP框架Wrapps条件构造器…