(轉)解析度 PPI DPI概念定義詳解
們在開發中,涉及到UI顯示時,經常會遇到的一些概念,比如解析度,ppi,dpi等,這些概念,在百度百科中,發現都有對它們的定義,一些部落格中,也有對這幾個概念的對比,但是看了下,發現解釋的也不是很清楚,理解起來還是不太容易,下面講解下我自己的理解,用盡可能簡單通俗的方式,讓大家更容易理解。
(1)解析度
解析度是用來描述圖片的畫素資訊的,比如我們說一張圖片的解析度是1280*720,那麼僅僅是描述這張圖片,是由1280個畫素* 720個畫素組成。
注意:解析度僅表示圖片畫素資訊,不能表示任何關於圖片清晰,清楚,質量高等的任何描述。
(2)PPI(每英寸所擁有的畫素)
PPI是用來描述螢幕的畫素顯示密度,這個值越高,表示螢幕顯示能力越強,我們經常會看到某個手機發布新的產品,會宣傳螢幕的ppi值,我們舉個例子:針對5英寸的1280*720的螢幕。
那麼這個手機的螢幕,每英寸,最多顯示293個畫素點
注意:PPI僅僅描述螢幕的顯示能力,也不能描述任何影象的清晰度。
(3)DPI(每英寸列印的點數)
DPI表示每英寸列印的點數,這時算明白了,這個引數才能表示圖片清晰度了,只有把圖片顯示在螢幕上面了,才能談清晰度。我們舉例對比下,常見的幾種不同螢幕大小手機的PPI值。
當我們把相同解析度的圖片,放在具有相同畫素顯示的螢幕上顯示時,每一個畫素,螢幕上對應一個點顯示,此時DPI=PPI, 即我們把解析度為m*n的圖片,放在最大支援m*n畫素的螢幕上時,DPI=PPI。
但是,實際上,我們所需要顯示圖片的解析度,跟螢幕引數匹配的概率還是很小的,我們來分析下,不匹配時的情況:
當我們把1280*720的圖片,放在800*400的4英寸的螢幕與1920*1080的5.5英寸的螢幕上顯示時的結果:
PPI是螢幕的顯示效能,所以跟顯示的圖片沒有關係,是固定的值,但是DPI是有關係的
1280*720 => 800*480的4英寸螢幕
雖然圖片一行有720個畫素,但是螢幕一行最多隻能顯示480個點,所以DPI=PPI=233,已經達到螢幕的最大顯示能力
1280*720 => 1920*1080的5.5英寸螢幕
雖然螢幕一行有1080個點,但是圖片一行最多隻能顯示720個畫素,所以DPI=293<PPI,並未達到螢幕的最大顯示能力,螢幕未達到最佳顯示。
(4)總結
解析度只能用來描述圖片的畫素資訊,不能描述圖片清晰度
PPI只能用來描述螢幕的顯示密度,也不能描述圖片的清晰度
DPI才能用來描述圖片顯示的清晰度,表示圖片在螢幕上的顯示效果。
當圖片解析度與螢幕顯示畫素相同時, DPI與PPI值相等
當圖片解析度大於螢幕顯示畫素時, DPI與PPI值相等,圖片顯示較差
當圖片解析度小於螢幕顯示畫素時, DPI值< PPI值相等,圖片顯示正常,螢幕未達到最佳顯示效果。
---------------------
作者:丁香樹下丁香花開
來源:CSDN
原文:https://blog.csdn.net/csdn66_2016/article/details/70331919
相關推薦
(轉)解析度 PPI DPI概念定義詳解
們在開發中,涉及到UI顯示時,經常會遇到的一些概念,比如解析度,ppi,dpi等,這些概念,在百度百科中,發現都有對它們的定義,一些部落格中,也有對這幾個概念的對比,但是看了下,發現解釋的也不是很清楚,理解起來還是不太容易,下面講解下我自己的理解,用盡可能簡單通俗的方式,讓大
解析度 PPI DPI概念定義詳解
我們在開發中,涉及到UI顯示時,經常會遇到的一些概念,比如解析度,ppi,dpi等,這些概念,在百度百科中,發現都有對它們的定義,一些部落格中,也有對這幾個概念的對比,但是看了下,發現解釋的也不是很清楚,理解起來還是不太容易,下面講解下我自己的
(轉)java的動態代理機制詳解
spring throw system urn log enc before 代理類 三個參數 原文出自:http://www.cnblogs.com/xiaoluo501395377/p/3383130.html 在學習Spring的時候,我們知道Spring主要
(轉)gzib等壓縮演算法原理詳解
gzip 、zlib以及圖形格式png,使用的壓縮演算法都是deflate演算法。從gzip的原始碼中,我們瞭解到了defalte演算法的原理和實現。我閱讀的gzip版本為 gzip-1.2.4。下面我們將要對deflate演算法做一個分析和說明。首先簡單介紹一下基本原理,然後詳細的介紹實現。 1 gz
iOS應用內支付(IAP)服務端端校驗詳解
imageview sof 客戶端 標識 知識庫 ndb json replace undle IAP流程 IAP流程分為兩種: 一種是直接使用Apple的服務器進行購買和驗證, 另一種就是自己假設服務器進行驗證。由於國內網絡連接Apple服務器驗證非常慢,而且也為了防止黑
面向對象(OOP)--OOP基礎與this指向詳解
title .com this oop tle class music his 面向對象 面向對象(OOP)--OOP基礎與this指向詳解 面向對象(OOP)--OOP基礎與this指向詳解 面向對象(OOP)--OOP基礎與this指向詳解 面向對象(OOP)--OOP
Flutter 布局(二)- Padding、Align、Center詳解
縮小 邊距 8.0 ren 函數 idt 控件 成本 com 本文主要介紹Flutter布局中的Padding、Align以及Center控件,詳細介紹了其布局行為以及使用場景,並對源碼進行了分析。 1. Padding A widget that insets it
Flutter 布局(十)- ListBody、ListView、CustomMultiChildLayout詳解
過多 ring ret idv 微會 sibling multipl oms urn 本文主要介紹Flutter布局中的ListBody、ListView、CustomMultiChildLayout控件,詳細介紹了其布局行為以及使用場景,並對源碼進行了分析。 1. L
Flutter 布局(九)- Flow、Table、Wrap詳解
bool shade orm src html break display tom empty 本文主要介紹Flutter布局中的Flow、Table、Wrap控件,詳細介紹了其布局行為以及使用場景,並對源碼進行了分析。 1. Flow A widget that i
scrapy爬蟲框架(四):scrapy中 yield使用詳解
開始前的準備工作: MySQL下載:點我 python MySQL驅動下載:pymysql(pyMySql,直接用pip方式安裝) 全部安裝好之後,我們來熟悉一下pymysql模組 import pymysql #建立連結物件 connection = pymysql
DeepLearning tutorial(1)Softmax迴歸原理簡介+程式碼詳解
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
本地儲存(一)—— Cookie、SessionStorage和LocalStorage詳解
目錄 1. Cookie 2. Web Storage 2.1 Session Storage 2.2 Local Storage 2.3 Web Storage 的瀏覽器支援情況 3. Cookie、SessionStorage和LocalStorage的對比
【linux】Valgrind工具集詳解(八):Memcheck命令列引數詳解
【linux】Valgrind工具集詳解(五):命令列詳解中不夠全,在此專門針對Memcheck工具中的命令列引數做一次詳細的解釋。 Memcheck命令列選項 –leak-check=<no|summary|yes|full> [default: summary]
java基礎-初級(三)【類的三大特性詳解】
目錄 3、類的三大特性詳解(封裝、繼承、多型) 3.1 封裝 3.2 繼承 3.2.1 super關鍵字的使用 3.2.2 阻止繼承:final &n
Ocelot簡易教程(三)之主要特性及路由詳解
上篇《Ocelot簡易教程(二)之快速開始2》教大家如何快速跑起來一個ocelot例項專案,也只是簡單的對Ocelot進行了配置,這篇文章會給大家詳細的介紹一下Ocelot的配置資訊。希望能對大家深入使用Ocelot有所幫助。 上篇中也提到了,最簡單的Ocelot如下面所示,只有簡單的兩個節點,一個是ReR
五.linux開發之uboot移植(五)——uboot配置和編譯過程詳解
一.uboot主Makefile分析1 1、uboot version確定(Makefile的24-29行) Makefile程式碼部分 (1)uboo
Flutter 佈局(二)- Padding、Align、Center詳解
本文主要介紹Flutter佈局中的Padding、Align以及Center控制元件,詳細介紹了其佈局行為以及使用場景,並對原始碼進行了分析。 1. Padding A widget that insets its child by the given padding. 1.1 簡介 Padding在
張小白的滲透之路(四)——XSS跨站指令碼漏洞詳解
XSS簡介 XSS又叫CSS(Cross Site Script),即跨站指令碼攻擊。是指攻擊者在網頁中嵌入客戶端指令碼,通常是JavaScript編寫的惡意程式碼,當用戶使用瀏覽器瀏覽被嵌入惡意程式碼
每天學點SpringCloud(九):SpringCloud最常用配置詳解
Eureka 屬性名 說明 預設值 eureka.server.enable-self-preservation 關閉註冊中心的保護機制,Eureka 會統計15分鐘之內心跳失敗的比例低
佇列(queue)及其儲存結構和特點詳解
什麼是佇列?佇列就是一個隊伍。佇列和棧一樣,由一段連續的儲存空間組成,是一個具有自身特殊規則的資料結構。我們說棧是後進先出的規則,佇列剛好與之相反,是一個先進先出(FIFO,First In First Out)或者說後進後出(LILO,Last In Last Out)的資料結構。想象一下,在排隊時是不是先