WP8 1 關於螢幕尺寸和解析度的那些事兒

2021-09-07 01:25:35 字數 2862 閱讀 1388

目前市面上的windows phone裝置越來越多,尺寸和解析度也越來越多,特別是wp8.1時代的到來。做過wp開發的人都知道應用適配其實較安卓要簡單太多了,其中有乙個重要原因,就是微軟號稱所有wp裝置都將以2個基準解析度來發展,即800 : 480和853 : 480。wp8+的應用適配相對來說比較簡單,主要讓螢幕布局適配這兩種比例足矣,想必對wvga、wxga和720p三種解析度及對應的模擬器都有一定了解。

我們先了解一下以下的概念,並將細說它們之間的關係和換算方法。

我們通過window.bounds來獲取當前視窗的大小:

// window size

var bounds = window.current.bounds;

windowsize.text = string.format("h x w ", bounds.height, bounds.width);

// logical dpi

var logicaldpi = displayinformation.getforcurrentview().logicaldpi;

logicaldpi.text = logicaldpi.tostring();

// rawpixelsperviewpixel

var dpiratio = displayinformation.getforcurrentview().rawpixelsperviewpixel;

rawpixelsperviewpixel.text = dpiratio.tostring();

// scalefactor

var scalefactor = bounds.width * dpiratio /480;

scalefactor.text = scalefactor.tostring();

表示螢幕解析度,即實際解析度。通過[window.bounds.width] * [rawpixelsperviewpixel][window.bounds.height] * [rawpixelsperviewpixel]來計算:

// screenresolution

var resolutionh = math.round(bounds.height*dpiratio);

var resolutionw = math.round(bounds.width*dpiratio);

screenresolution.text = string.format(" x ", resolutionh, resolutionw);

表示邏輯解析度,即基準解析度。通過[screen resolution] / [scale factor]來計算:

// logicalresolution

logicalresolution.text = string.format(" x ", resolutionh/scalefactor, resolutionw/scalefactor);

表示螢幕x軸或y軸方向上每英吋的實際點數,這個值和實際的螢幕裝置密不可分,分別有rawdpix和rawdpiy兩個值:

// rawdpi

var rawdpix = displayinformation.getforcurrentview().rawdpix;

var rawdpiy = displayinformation.getforcurrentview().rawdpiy;

rawdpi.text = string.format("rawdpix:, rawdpiy:", rawdpix, rawdpiy);

表示螢幕尺寸,即實際螢幕對角線的長度,單位英吋。通過上面幾個數值,完全能夠算出當前使用裝置的螢幕尺寸。通過[screen resolution] / [raw dpi]兩個方向上的歐氏距離來計算:

// screeninch

var screeninch = math.sqrt(math.pow(resolutionh / rawdpiy, 2) + math.pow(resolutionw / rawdpix, 2));

screeninch.text = string.format(" inches", screeninch.tostring());

擼主分別在三個模擬器上做了實驗,即8.1 wvga 4 inch 512m、8.1 720p 4.7 inch 和 8.1 1080p 5.5 inch,這三個模擬器是我們wp8.1上用得最多的模擬器。單從模擬器的標題我們就能得出一些資訊:

wvga 4 inch:螢幕尺寸4英吋,wvga解析度800x480,邏輯和實際解析度都是這個值;

720p 4.7 inch:螢幕尺寸4.7英吋,720p解析度1280x720,基準解析度為853x480;

1080p 5.5 inch:螢幕尺寸5.5英吋,1080p解析度1920x1080,基準解析度為853x480。

下面分別是這三種模擬器的結果:

特別注意螢幕解析度、邏輯解析度和螢幕尺寸,和我們預想的結果完全吻合。

介紹了wp8.1螢幕尺寸和解析度相關的概念及轉換方法;有了這些基礎資訊,就可以獲得螢幕上任意元素的實際尺寸或是邏輯尺寸了。

WP8 1 關於螢幕尺寸和解析度的那些事兒

目前市面上的windows phone裝置越來越多,尺寸和解析度也越來越多,特別是wp8.1時代的到來。做過wp開發的人都知道應用適配其實較安卓要簡單太多了,其中有乙個重要原因,就是微軟號稱所有wp裝置都將以2個基準解析度來發展,即800 480和853 480。wp8 的應用適配相對來說比較簡單,...

螢幕尺寸 解析度

1 解析度 解析度又稱顯示解析度 螢幕解析度 確定手機螢幕上顯示多少資訊的設定,以水平和垂直畫素來衡量 6 750 1334 畫素 5s 640 1136 畫素 2 螢幕尺寸 螢幕大小的物理尺寸,以螢幕對角線長度衡量 單位 英吋 1英吋 2.54厘公尺 6 4.7英吋 5s 4英吋 3 畫素密度 p...

螢幕尺寸 解析度 縮放

我的顯示器aoc品牌,1920 1080 解析度 螢幕尺寸一般講英吋,指螢幕對角線的長度,21英吋。螢幕就是這個玻璃面板,物理上排列著許許多多的映象管,每個映象管可以看成乙個最小成像單位 px。橫向的畫素數 豎向的畫素數 即解析度,但是衡量顯示細膩程度的是 ppi 即單位面積上的畫素數。瀏覽器縮放的...