手机屏幕的DPI和PPI有什么区别?

2023-11-14

为什么有的手机厂商在屏幕参数一栏标注PPI,而有的手机却标注DPI?这其中又有什么猫腻呢,不同的标注方法会对手机产生那些影响?

在这里插入图片描述

PPI和DPI的区别是什么,分别都是如何计算的?对你的视觉体验会产生多大的影响呢?

① DPI即dot per inch

DPI所代表的含义是:

DPI表示分辨率,指每英寸长度上的点数。DPI又可细分为水平分辨率和垂直分辨率,例如一张1英寸x1英寸的图片,如果它的水平分辨率是100dpi,垂直分辨率是50dpi,那么就是说,它水平方向每英寸分成100小段,垂直方向每英寸分成50小段,就像米尺上的一格格那样。这种图片总共有100x50=5000个格子,这张图片总共有5000像素。由于它的水平分辨率和垂直分辨率不相等,所以每个像素是一个微小的长方形。

通常是与照片和打印挂钩。

在这里插入图片描述

② ppi(像素密度)

每英寸屏幕所拥有的像素数。然而这个每英寸并不是每平方英寸的简称,也是对角线的长度。所以,我们可以这么理解屏幕像素密度,即在一个对角线长度为1英寸的正方形内所拥有的像素数。
在这里插入图片描述

图片ppi值越高,画面的细节就越丰富,因为单位面积的像素数量更多。

一般来说,手机屏幕距离眼睛10-12英寸时,分辨率达到一定水平,屏幕PPI只要达到300PPI,人眼视网膜就无法分辨出像素点了,这样的屏幕被称为“视网膜屏幕”。
在这里插入图片描述
计算方法

是长宽各自平方之和开方,除以对角线长度即屏幕尺寸(单位英寸)。原理可以自己画个矩形勾股定理算一算。

在这里插入图片描述

例如4.7英寸的iPhone7,屏幕分辨率是1334x750,那么它的像素密度即PPI的计算方法如下:

在这里插入图片描述

下面是官方数据与笔者实际计算一致

在这里插入图片描述

区别在于

PPI是该手机最高质量的画质参数,虽说你可以通过Root等手段修改像素密度。图片的ppi无法反映这张图片能在冲印店得到的冲印质量。

DPI是手机图片输出的一个衡量标准,一般用于图片打印时调节参数。针对特定的图片而言,图片的像素是固定的,所以,打印分辨率和打印尺寸便呈现反比的关系。

DPI是开发时候用的,相当于是安卓强行规定,跟我们平时所谓的ppi(像素密度)不一样,这里所说的dpi,一般都被用于字体等大小的修改。这就是为什么厂家标注参数是PPI,而在跑分软件上会显示DPI。

有很多人将二者混为一谈,错把PPI的计算方法当成DPI的计算方法,这显然是不对的,一般消费者根本不能分清两者的概念,网上关于手机DPI的解释又很少,所以有些商家会故意选用数字大的参数标出,当然也不排除某些网站在参数标注时出现概念混淆的情况。

大多数手机厂商都会使用PPI作为参数,因为PPI有简单的公式计算,方便可靠。

例如笔者这台5.7英寸1080x1920的手机,PPI计算值为386,DPI计算值为480,假若手机厂商在参数中没有使用PPI而是使用DPI(屏幕密度),那么容易误导不知情消费者认为这款手机的显示水平很高。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手机屏幕的DPI和PPI有什么区别? 的相关文章

  • 使用新语法应用 Android Gradle 插件

    如何使用新的 Gradle 插件语法应用 Android 插件 plugins id version 代替 buildscript dependencies classpath com android tools build gradle
  • 如何在 ADB 连接期间禁用电池充电?

    问题描述 每次我在电脑和手机之间连接 USB 线时 电池都会自动充电 我想使用 ADB 协议 但我不想在 ADB 连接期间为电池充电 是否可以关闭此充电功能 当然 我该怎么做呢 环境 Android 操作系统 4 及更高版本的手机 我只需要
  • Android 应用程序在启动时打开应用程序信息屏幕,而不是启动主 Activity

    我不确定这是否是一个问题 但这是我第一次遇到这个问题 我正在开发一个应用程序 当我在进行一些编码后断开应用程序与 Android Studio 和 PC 的连接时 如果我尝试在手机上打开应用程序 它会启动app info屏幕 我们看到强制停
  • 如何在 android 中启动“添加联系人”活动

    您能告诉我如何在 Android 中启动 添加联系人 活动吗 谢谢 API 级别 5 及以上解决方案 Add listener so your activity gets called back upon completion of act
  • 如何访问android库项目中的资源

    我正在构建一个 android 库项目 它内部需要一些静态资源 图像 xml 等 然后我想知道我可以把这些资源放在哪里以及如何访问它们 既然我把资源放到了assets文件夹 我使用 AssetManager 来访问资源 public cla
  • android中根据屏幕尺寸计算图像尺寸

    我正在尝试根据屏幕尺寸计算图像高度和宽度 我从后端获取 5 x 7 尺寸的图像 为了将像素乘以 72 进行转换 我有 360 X 504 尺寸的图像 对于 360 X 504 我的动态透明矩形区域将显示为 1 223 x 1 179 即 8
  • 如何在活动中的必填字段中显示 * 符号

    我需要在活动中的必填字段中显示 符号 你能建议我怎样才能做到这一点吗 任何帮助 将不胜感激 我想说 作为必填字段的标记不遵循本机 Android 主题 的组合setHint and setError对于 Android 应用程序来说看起来更
  • 使用 HttpUrlConnection Android 将 base64 编码的图像发送到服务器

    我正在尝试使用 HttpUrlConnection 将 base64 编码的图像发送到服务器 我遇到的问题是大多数图像均已成功发送 但有些图像会生成 FileNotFound 异常 我的图像编码代码可以在下面找到 public static
  • Google 地图删除标记路线上下文菜单

    我使用 Android Studio 的 Google 地图模板启动了一个新项目 并在地图上添加了一个标记 LatLng location new LatLng lat lng Marker marker mMap addMarker ne
  • Android中如何检测WIFI连接何时建立?

    我需要检测何时通过 WIFI 建立网络连接 发送什么广播来确定已建立有效的网络连接 我需要验证是否存在有效的 HTTP 网络连接 我应该监听什么以及需要进行哪些额外测试才能知道是否存在有效连接 您可以注册一个BroadcastReceive
  • 我想从 android 中服务器的视频 url 创建缩略图

    My code public static Bitmap retriveVideoFrameFromVideo String videoPath throws Throwable Bitmap bitmap null MediaMetada
  • 适用于 Android 的 Google 云端硬盘\文档 API

    我在几个小时内将 Dropbox 与我的应用程序集成 因为 SDK 描述清晰并且有很好的使用示例 Google Drive 似乎只有一个 一刀切 的 Gdata SDK 它非常重 有很多依赖项 它使我的应用程序的大小增加了三倍 而且不是很直
  • 如何制作在手机和平​​板电脑上使用的响应式Android应用程序?

    我创建了一个 Android 应用程序 当我运行我的应用程序时Mobile Phone它工作得很好 但是当我跑进去时Tablet应用程序的布局已更改 那么 如何制作响应式Android应用程序用于Mobile并且也在Tablet 在Andr
  • android中listview显示数据库中的数据

    我是安卓新手 我想知道如何在列表视图中显示数据库中的数据 它不会向数据库添加数据 我只是显示我们存储在数据库中的任何内容 请帮助我实现这一目标 提前致谢 使用这些课程可能会对您有所帮助 用于数据库创建 package com example
  • android textview 有字符限制吗?

    我正在尝试在 android TextView 中输入超过 2000 3000 个字符 它不显示任何内容 任何一份指南是否对 android textview 有字符限制或什么 我在G3中做了一些小测试 我发现 如果activtiy布局中有
  • 如何构建自定义摄像机应用程序?

    我正在尝试开发一个自定义摄像机录像机 当我的设备在 Activity 的 beginRecording 中执行 start MediaRecorder 方法时 应用程序崩溃 我不知道出了什么问题 因为我遵循谷歌API指南 http deve
  • 如何关闭 EditText 中的建议?

    如何在 Android 中关闭 EditText 中的建议 android inputType textNoSuggestions 根据this http comments gmane org gmane comp handhelds an
  • 在android中创建SQLite数据库

    我想在我的应用程序中创建一个 SQLite 数据库 其中包含三个表 我将向表中添加数据并稍后使用它们 但我喜欢保留数据库 就好像第一次安装应用程序时它会检查数据库是否存在 如果存在则更新它 否则如果不存在则创建一个新数据库 此外 我正在制作
  • 使用 DataBindingComponent 的 Inflate 方法

    当 Glide 成功渲染图像后 我在更新文本视图时看到此错误 致命异常 java lang IllegalStateException 必需 CustomBinding 类中的 DataBindingComponent 为 null 绑定适
  • 将焦距(以毫米为单位)转换为像素 - Android

    在 Android 中 我当前正在访问camera s焦距通过使用getFocalLength in Camera1 Camera2不是一个选择 我正在尝试完全填充当前的计算 focal length pix focal length m

随机推荐

  • Redis学习笔记

    Redis学习笔记 什么是Redis 安装Rides 启动Redis 连接Redis Redis基础知识 五大数据类型 1 String 2 List 3 Set 4 Hash 5 Zset 三种特殊数据类型 1 geospatial 地理
  • 以太坊的MPT树,以及编码,leveldb存储

    声明 此为使用网上多处资料整理而成 由于很多地方内容相同 已经分不清哪里是原创 一 MPT树 1 Trie树 Trie 又称为字典树或者前缀树 prefix tree 属于查找树的一种 它与平衡二叉树的主要不同点包括 每个节点数据所携带的
  • IPP图像处理函数命名格式

    IPP图像处理函数命名格式 专栏目录 说明 一 函数格式 二 data domain 三 Name 1 无修饰符的名称 2 有修饰符的名称 四 数据类型 五 描述符 六 参数 七 拓展 八 函数原型 专栏目录 一 IPP简介及windows
  • Android 初级到高级 进阶

    高级Android学习 Android学习路线指南 singwhatiwanna的博客 CSDN博客
  • ads原理图生成layout_ADS原理图和版图协同优化仿真方法总结

    1 概述 在用ADS进行射频电路仿真时 在原理图层面仿真完毕后 通常还要考虑实际的射频版图布局中传输线的耦合 印制板介质损耗等效应的影响 此时就要在ADS的版图仿真中来实现 在学习ADS时 需要版图仿真时 通常是先原理建模 然后通过生成版图
  • SpringCloud 微服务服务治理注册中心

    一 什么是服务治理 在传统rpc远程调用中 服务与服务依赖关系 管理比较复杂 所以需要使用服务治理 在这里插入图片描述管理服务与服务之间依赖关系 可以实现服务调用 负载均衡 容错等 实现服务发现与注册 二 服务注册与发现 在服务注册与发现中
  • Unity脚本实现——触摸屏3D模型,随单根手指,无死角旋转(Input的GetTouch方法和touchCount属性)

    Unity脚本实现模型360度旋转 参考别人随手指绕Y轴转动 添加了绕X轴转动 using System Collections using System Collections Generic using UnityEngine publ
  • document 使用方法介绍

    document节点是文档的根节点 每张网页都有自己的document节点 属性 1 document doctype 它是一个对象 包含了当前文档类型 Document Type Declaration 简写DTD 信息 2 docume
  • Tessy — 嵌入式软件单元测试/ 集成测试工具

    Tessy 源自戴姆勒 奔驰公司的软件技术实验室 由德国Hitex 公司负责全球销售及技术支持服务 是一款针对嵌入式软件进行单元 集成测试的工具 它可以对C C 代码进行单元 集成测试 可以自动化搭建测试环境 执行测试 评估测试结果并生成测
  • SpringBoot 线程池的使用

    前言 最近在做订单模块 用户购买服务类产品之后 需要进行预约 预约成功之后分别给商家和用户发送提醒短信 考虑发短信耗时的情况所以我想用异步的方法去执行 于是就在网上看见了Spring的 Async了 但是遇到了许多问题 使得 Async无效
  • flutter Flex Wrap Stack Align布局

    1 flex布局 Flex direction Axis horizontal 水平反向 direction不能为空 direction Axis vertical 垂直反向 Expanded flex 1 实现代码如下 child Con
  • C语言-宏定义

    C语言 宏定义 1 宏定义是什么 2 宏定义怎么用 2 1 宏定义常量 2 1 1 预定义宏 2 1 2 自定义宏 2 2 带参数的宏 2 3 编译预处理 3 宏展开 4 编译预处理指令 1 宏定义是什么 宏是用来表示一段代码的标识符 宏也
  • how to unzip split file

    1 how to unzip split file cat zipfile tar gz tar zxv
  • springBoot整合log4j2

    文章目录 什么是log4j2 springBoot依赖的引入 接下来是log4j2的示例配置 首先在application yml制定采用哪个配置文件 在resources目录下新建log4j2 xml文件 什么是log4j2 Apache
  • Linux系统:stress-ng测压工具

    目录 一 理论 1 stress工具简介与安装 2 语法及参数 3 具体安装 二 实验 1 运行8 cpu 4 fork 5 hdd 4 io 50 vm 10小时 2 CPU测试 3 内存测试 4 IO测试 5 磁盘及I O测试 三 问题
  • Java同步代码块详解

    目录 一 什么是内置锁 二 什么是重入 三 活跃性与性能 四 对象的共享 1 可见性 2 非原子的64位操作 3 volatile变量 一 什么是内置锁 Java提供了一种内置的锁机制来支持原子性 同步代码块 同步代码块包含两部分 一个作为
  • SQL,如何更新表结构

    We can alter an existing table structure using the ALTER TABLE command followed by the alteration you want to make 我们可以使
  • 【Unity】[帮助文档] AddForce函数详解,参数ForceMode(Acceleration、Force、Impulse 和 VelocityChange)的选择

    背景 经常忘 经常查 倒不如我自己写一篇给自己方便参考 毕竟每次都在某N站查出来的都是不知道互抄到哪一年的机翻文章 本文涉及代码与测试参考unity版本为2021 3 AddForce 用于对rigidbody组件对象添加力的作用 其参数决
  • 编程题思路1

    1反转链表 2节点两两反转 3判断链表是否有环 1 0 5毫秒内是否出现Null 2 set中查重 3 快慢指针 4匹配左右括号 5实时判断第K大的元素 大顶堆 实时排序 6 乱序判断 法一 sort NlogN return sorted
  • 手机屏幕的DPI和PPI有什么区别?

    为什么有的手机厂商在屏幕参数一栏标注PPI 而有的手机却标注DPI 这其中又有什么猫腻呢 不同的标注方法会对手机产生那些影响 PPI和DPI的区别是什么 分别都是如何计算的 对你的视觉体验会产生多大的影响呢 DPI即dot per inch