DPI 和 PPI 是什么?

news/2023/12/9 19:45:50

前言:虽然自己已经看过很多关于屏幕相关参数的文章了,自己也在sg上面写过相关的文章。今天看到的这篇文章,作者言简意赅,文笔真的比我强的不知道那里去了,三三两两几句话,就把问题解释的清清楚楚,这么好的文章,赶紧收藏起来。

1. DPI 和 PPI 是什么

DPI 是英文 Dots(点) Per Inch 的缩写,在最早的时候,这个单位是用来描述打印机的性能的,意思就是这台打印机最多能用多少个墨点来打印一寸的内容。目前市面上常见的家用黑白打印机普遍都去到了 600 600 dpi 而家用彩色照片打印机则能去到 5760 1440 dpi。DPI 越高,每英寸内的墨点就越多,你打印出来的东西就会越清晰锐利。

PPI 是英文 Pixels Per Inch 的缩写,意味每寸能容纳多少颗像素,用于描述屏幕的像素密度。我们上面提到的印刷物以无数多的墨点来构成图像,而屏幕同样也是以一定数量的发光点来构成图像。见过街上那些走红字的 LED 显示屏么?上面的那一颗颗的 LED 灯就是这块屏幕的发光点,我们使用的 MacBook 的 Retina 显示屏的原理也跟这些看起来十分粗糙的走红字显示屏是一样的,只不过 Retina 显示屏的发光点密度非常高,人眼已经看不出来颗粒感而已。

对于屏幕来说 PPI 是用于描述每英寸发光点数量的,它表明了一块屏幕发光点密度的高低,这些发光点我们更常称之为像素,一块屏幕宽高有几寸是在生产的时候就被定好的,而宽高各能容纳下多少颗像素,也是在生产的时候就被定好的,所以我们所说的 PPI 可以说是一个物理单位。简单举个例子吧,我们手头上的 iPhone(6~7) 宽为 2.3 英寸,高为 4.1 英寸,根据勾股定理得出这块屏幕的尺寸(屏幕对角线距离)是 4.7 英寸。同时,iPhone(6~7) 屏幕宽(每行)有 750 个像素(发光点),高(每竖)有 1334 颗像素(发光点)。

clipboard.png

2. 分辨率、像素和屏幕尺寸

PPI 说的是像素密度,而分辨率说的是块屏幕的像素尺寸,譬如说 1334*750 就是 iPhone(6~7)的分辨率,说 iPhone(6~7)的分辨率是 326 是错误的表述,326 是它的像素密度,单位是 PPI。

询问别人一粒像素有多大是一个非常鸡贼的问题(小心面试遇到这样的题),虽然我们说像素是构成屏幕的发光的点,是物理的,但是像素在脱离了屏幕尺寸之后是没有大小可言的,你可以将 1920 * 1080 颗像素放到一台 40 寸的小米电视机里面,也可以将同样多的像素全部塞到一台 5.5 寸的 iPhone7 Plus 手机里面去,那么对于 40 寸的电视而言,每个像素颗粒当然会大于 5.5 寸的手机的像素。

clipboard.png

所以光看屏幕的分辨率对于设计师来说是不具备多少实际意义的,通过分辨率计算得出的像素密度(PPI)才是设计师要关心的问题,我们通过屏幕分辨率和屏幕尺寸就能计算出屏幕的像素密度的。

再次使用 iPhone(6~7)作为例子。我们知道该屏幕的横向物理尺寸为 2.3 英寸 ,且横向具有 750 颗像素,根据下面的公式,我们能够算出 iPhone(6~7)的屏幕是 326 PPI,意为每寸存在 326 颗像素。

其实不论我们怎么除,计算得出来的像素密度(PPI)都会是这个数,宽存在像素除以宽物理长度,高存在像素除以高物理长度,得数都接近于 326。

3. 对设计会造成什么样的影响

一块 326326px 的正方形色块在一台 iPhone 7 上面展现出来的物理尺寸将会会是 11 英寸。这是因为该屏幕每英寸能容纳 326 颗像素,所以 326px 凑在一起刚好就是 1 英寸。假设我们能将 iPhone 7 手机屏幕 PPI 调低 50% 变为 163,色块还是 326326px, 这个色块的物理尺寸会变成 22 英寸,同样多的像素,看起来却大了一倍。咦!这是为啥?

因为我们的色块是 326326px 大小的,而这台 163PPI 的假 iPhone 7 每英寸上面只有 163 颗像素,为了要展示 326326px 的色块,它就要多用 1 英寸的屏幕,所以这个色块在屏幕上面看起来就 “长大了” 一倍。

clipboard.png

参考链接:Designer's guide to DPI


http://www.niftyadmin.cn/n/4594822.html

相关文章

说说ASP.NET 2.0的书

ASP.NET 2.0其实已经出来挺长时间了,但国内关于ASP.NET 2.0的书似乎很少。前几天特意关注了一下ASP.NET 2.0的书,有些感想,和大家分享。 如果你是一个对ASP.NET 2.0很关注的人,那么一定不会没有听说过Dino Esposito这个名字。他写…

.Net下几种日志管理方法

.Net下几种日志管理方法 日志是应用程序中不可缺少的一部份,不仅可以记录应用程序的运行状态,还可以记录一些BUG,便于应用程序的更新与修改。在.Net有好几种方法可以对日志进行管理。1、数据库日志。2、文本日志。3、系统事件日志。 首先&…

加油站问题(贪心算法)

在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周&#…

subwoofer

外文名:subwoofer中文名:重低音音箱俗 称:低音炮归 类:音乐器材别 称:重低音音箱低音炮是大家的一个俗称或者简称,严格讲应该是:重低音音箱。重低音其实是电子音乐里,低音音乐的一个叫法。这个词语第一次是被创新开发出来的&#xf…

详细的xp修复控制台命令和用法!!!

放入xp(2000)的光盘,安装时候选R,修复!Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的…

binlog_format=ROW模式下mysql表无主键造成的从库延迟(卡住)

场景: MySQL-5.6.30, 主从架构, 只读从库的SQL线程卡在某一个事务两个多小时没有动过, show processlist发现从库当时没有连接和慢查询语句;show open TABLES where In_use >0; 发现一个表被锁定如下: mysql> show open TABLES where In_use >0; ---------…

转帖]白领:4大行业通往高薪之路

近几年来,麦肯锡、波士顿、罗兰贝格、毕博,一连串国际著名咨询公司先后叩开中国的大门,让中国的咨询业星光熠熠。据调查,上海高端领域咨询服务业收入位居榜首,高出其他行业30%。据了解,咨询业在各行业薪资中…

08 集合[11,22,33,44,55,66,77,88,99],将所有66的值保存至字典的第一个key中,将所有=66的值保存至字典的第二个key中。即:{'k1':66的所有值,'k2':...

li [11,22,33,44,55,66,77,88,99]dict {k1:[],k2:[]}for i in li: if i < 66: dict["k1"].append(i) else: dict[k2].append(i)print(dict)转载于:https://www.cnblogs.com/wssaried/p/9862671.html

移除用户控件的输出缓存(OutputCache)

用户控件的输出缓存(OutputCache)&#xff0c;又称片断缓存&#xff0c;是缓存技术中最常使用的缓存手段之一&#xff0c;通过增加<% OutputCache Duration"180" Shared"true" VaryByParam"none" %> 指令可以很方便的使一个控件具有缓存功…

SEER区块浏览器开发指南

区块浏览器基本功能 区块链浏览器是浏览区块链信息的主要窗口&#xff0c;每一个区块所记载的内容都可以从区块链浏览器上进行查阅。用户可以使用区块链浏览器查询记录在区块中的交易信息&#xff0c;包括转账、预测、账户管理和社区治理操作等。 DAPP内的信息展示部分&#xf…

进行可用性测试的8个指南

译文:引言:在专业的web设计圈&#xff0c;可用性测试会议已经成为任何重点项目的一个基本组成部分。对于关注品牌发展和产品开发的人群来来说&#xff0c;可用性测试是提供获取网站目标人群的反馈意见的宝贵机会&#xff0c;并且应该尽早开始.但是你怎样才能从这些可用性测试会…

Oboe,安卓上的低延迟音频应用开发库

谷歌已经发布了第一个生产就绪的Oboe版本。Oboe是一个C库&#xff0c;它用来构建在99%的安卓设备上都有着最低可能延迟的高性能音频应用。\\需要构建音乐类游戏&#xff0c;音频应用等的开发者通常不得不处理延迟问题。Oboe的目标是通过提供一个简单的与安卓API 16&#xff08;…

别做老板的奴隶

人生的櫻桃 收錄於「別做老闆的奴隸」文/ 張國立我總是喜歡用一種方式來計算生命&#xff0c;並為自己的吃喝玩樂尋找藉口&#xff1a;你在二十歲以前的人生是有記憶的嗎&#xff1f;有&#xff0c;你記得你老爸揍你&#xff0c;因為你在做功課時偷偷看漫畫。有&#xff…

java中的基本数据类型包装类

1 基本类型包装类 1.1 概述 1.1.1 需求: a:将100转换成二进制 , 八进制 , 十六进制 b:判断一个数是否在int的范围内 public class MyTest {public static void main(String[] args) {int num100;String s Integer.toBinaryString(num);System.out.println(s);String s1 In…

Elasticsearch跨集群搜索(Cross Cluster Search)

1、简介 Elasticsearch在5.3版本中引入了Cross Cluster Search&#xff08;CCS 跨集群搜索&#xff09;功能&#xff0c;用来替换掉要被废弃的Tribe Node。类似Tribe Node&#xff0c;Cross Cluster Search用来实现跨集群的数据搜索。 2、配置Cross Cluster Search 假设我们有2…

结合JavaScript与ASP.NET Web窗体进行程序开发

ASP.NET为Web程序开发提供了新的范例。其中包括一系列基于服务器的控件&#xff0c;这些控件类似于HTML窗体中诸如文本框、按钮等元素。使用这些控件的问题是必须调用服务器。JavaScript为很多任务提供多种选择的机会&#xff0c;而这些过程不需要调用服务器。让我们来看结合Ja…
最新文章