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

2023-10-08 05:30
文章标签 dp 逻辑 物理 像素 dip drp

本文主要是介绍像素(物理像素dp、逻辑像素dip、物理像素 / 逻辑像素drp),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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博客

这篇关于像素(物理像素dp、逻辑像素dip、物理像素 / 逻辑像素drp)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/163011

相关文章

opencv实现像素统计的示例代码

《opencv实现像素统计的示例代码》本文介绍了OpenCV中统计图像像素信息的常用方法和函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 统计像素值的基本信息2. 统计像素值的直方图3. 统计像素值的总和4. 统计非零像素的数量

hdu4826(三维DP)

这是一个百度之星的资格赛第四题 题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1004&cid=500 题意:从左上角的点到右上角的点,每个点只能走一遍,走的方向有三个:向上,向下,向右,求最大值。 咋一看像搜索题,先暴搜,TLE,然后剪枝,还是TLE.然后我就改方法,用DP来做,这题和普通dp相比,多个个向上

hdu1011(背包树形DP)

没有完全理解这题, m个人,攻打一个map,map的入口是1,在攻打某个结点之前要先攻打其他一个结点 dp[i][j]表示m个人攻打以第i个结点为根节点的子树得到的最优解 状态转移dp[i][ j ] = max(dp[i][j], dp[i][k]+dp[t][j-k]),其中t是i结点的子节点 代码如下: #include<iostream>#include<algorithm

hdu4865(概率DP)

题意:已知前一天和今天的天气概率,某天的天气概率和叶子的潮湿程度的概率,n天叶子的湿度,求n天最有可能的天气情况。 思路:概率DP,dp[i][j]表示第i天天气为j的概率,状态转移如下:dp[i][j] = max(dp[i][j, dp[i-1][k]*table2[k][j]*table1[j][col] )  代码如下: #include <stdio.h>#include

usaco 1.1 Broken Necklace(DP)

直接上代码 接触的第一道dp ps.大概的思路就是 先从左往右用一个数组在每个点记下蓝或黑的个数 再从右到左算一遍 最后取出最大的即可 核心语句在于: 如果 str[i] = 'r'  ,   rl[i]=rl[i-1]+1, bl[i]=0 如果 str[i] = 'b' ,  bl[i]=bl[i-1]+1, rl[i]=0 如果 str[i] = 'w',  bl[i]=b

uva 10154 DP 叠乌龟

题意: 给你几只乌龟,每只乌龟有自身的重量和力量。 每只乌龟的力量可以承受自身体重和在其上的几只乌龟的体重和内。 问最多能叠放几只乌龟。 解析: 先将乌龟按力量从小到大排列。 然后dp的时候从前往后叠,状态转移方程: dp[i][j] = dp[i - 1][j];if (dp[i - 1][j - 1] != inf && dp[i - 1][j - 1] <= t[i]

uva 10118 dP

题意: 给4列篮子,每次从某一列开始无放回拿蜡烛放入篮子里,并且篮子最多只能放5支蜡烛,数字代表蜡烛的颜色。 当拿出当前颜色的蜡烛在篮子里存在时,猪脚可以把蜡烛带回家。 问最多拿多少只蜡烛。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cs

uva 10069 DP + 大数加法

代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <queue>#include <map>#include <cl

uva 10029 HASH + DP

题意: 给一个字典,里面有好多单词。单词可以由增加、删除、变换,变成另一个单词,问能变换的最长单词长度。 解析: HASH+dp 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

XTU 1233 n个硬币连续m个正面个数(dp)

题面: Coins Problem Description: Duoxida buys a bottle of MaiDong from a vending machine and the machine give her n coins back. She places them in a line randomly showing head face or tail face o