像素 分辨率 dp pt ppi px

https://facebook.github.io/react-native/docs/pixelratio.html

import {PixelRatio, Platform,Dimensions} from 'react-native';

var window = require('Dimensions').get('window');

export const maxHeight = PixelRatio.getPixelSizeForLayoutSize(Dimensions.get('window').height);
export const maxWidth = PixelRatio.getPixelSizeForLayoutSize(Dimensions.get('window').width);

export const scaleHeight = maxHeight/768;
export const scaleWidth = maxWidth/1024;
export const pixRa = PixelRatio.get();


export const  px2dp =  (px) => {
    return px / PixelRatio.get();
}

export const  dp2px =  (dp) => {
    return dp * PixelRatio.get();
}

export const getRealDpWidth = (number) => {

    return px2dp(number)*scaleWidth;

}
export const getRealDpHeight = (number) => {

    return px2dp(number)*scaleHeight;

}

export const getRealDpWidthZyx = (number) => {

    return Dimensions.get('window').width/1024 * number;

}
export const getRealDpHeightZyx = (number) => {

    return Dimensions.get('window').height/768 * number;

}

const a1 = getRealDpHeight(44);
const a11 = getRealDpHeightZyx(44);
console.log('--' + a1 +"  "+ a11);

const  b1 = getRealDpWidth(33);
const  b11 = getRealDpWidthZyx(33);
console.log('--' + b1 +"  "+ b11);





QQ20161118-0@2x.png

http://blog.csdn.net/ridxmc/article/details/51346472
ppi (pixels per inch):屏幕像素密度 (在圖像中,每英寸所包含的像素?cái)?shù)目)
dpi (dots per inch): 打印分辨率 (每英寸所能打印的點(diǎn)數(shù),即打印精度)

pt:iOS開發(fā)單位,即point,絕對(duì)長(zhǎng)度,1pt=1/72英寸。

可以看出iphone的屏幕密度只有3種,即

@1x,163ppi(iphone3gs)

@2x,326ppi(iphone4、4s、5、5s、6)

@3x,401ppi(iphone6+)

一、基本概念
dip : Density independent pixels ,設(shè)備無關(guān)像素。
dp :就是dip
px : 像素
dpi :dots per inch , 直接來說就是一英寸多少個(gè)像素點(diǎn)。常見取值 120,160,240。我一般稱作像素密度,簡(jiǎn)稱密度
density : 直接翻譯的話貌似叫 密度。常見取值 1.5 , 1.0
分辨率 : 橫縱2個(gè)方向的像素點(diǎn)的數(shù)量,
屏幕尺寸: 屏幕對(duì)角線的長(zhǎng)度。電腦電視同理。
屏幕比例的問題。因?yàn)橹淮_定了對(duì)角線長(zhǎng),2邊長(zhǎng)度還不一定。所以有了4:3、16:9這種,這樣就可以算出屏幕邊長(zhǎng)了。

不同PPI的dp與px的換算關(guān)系

160PPI(mdpi) : 1dp = 1px
240PPI(hdpi) : 1dp = 1.5px
320PPI(xhdpi) : 1dp = 2px

UI設(shè)計(jì)原型:基于iphone6

分辨率:1334 x 750 px;
屏幕大小:4.7英寸
320dpi
density=2
1dp=(1*density)px
DPI 326dpi(約等于,;)
全屏dp值:667 x 375 dp ((1334/density) x (750/density) )


https://segmentfault.com/a/1190000002658374

默認(rèn)用的是ihone6的模擬器結(jié)果是:

window.width=375
window.height=667

export const maxHeight = PixelRatio.getPixelSizeForLayoutSize(Dimensions.get('window').height);

750
export const maxWidth = PixelRatio.getPixelSizeForLayoutSize(Dimensions.get('window').width);
1334



3C06314BE4A8239665FCCCFEEA9D99FF.png

https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容