1. 程式人生 > >(轉)解析度 PPI DPI概念定義詳解

(轉)解析度 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 tutorial1Softmax迴歸原理簡介+程式碼

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!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)的資料結構。想象一下,在排隊時是不是先