2015-07-02 83 views
9

我正在創建一個網絡應用程序,用於爲移動設備生成並提供網頁。例如,用戶配置要顯示哪些數據並使用速度模板來生成最終的HTML/CSS/JS文件。 當模板和要包含的信息已配置時,客戶端連接到服務器以顯示生成的頁面。在網頁上模擬設備屏幕

但是,我現在正在爲此創建一個預覽屏幕。所以,我們要說,我想看看它的外觀如何,比方說,Nexus 5.

我的目標是創建類似谷歌在Chrome上的東西 - 移動設備仿真。問題是我無法理解他們如何能夠做這種模擬。

確實,內容必須縮小才能顯示所有內容。這很容易理解,因爲如果屏幕不夠大,我們需要使其適合。

所以,我知道該設備的屏幕對角線尺寸,它的分辨率和PPI(點英寸)。我需要知道的是如何爲我的網站獲得一些適當的測量來模擬設備。當我轉到Chrome仿真工具我看到的Nexus 5被示出爲:

  • 分辨率360°×640
  • 像素長寬比3

我知道他們是如何計算像素縱橫比:這是該設備的PPI除以160(基本PPI)。所以,445/160 =〜3(445是Nexus 5的像素密度)。這就是他們如何達到360 x 640:他們將分辨率除以像素長寬比(3)。

在我的網站上我有一個iframe,並將生成的頁面加載到它。然後我知道我必須應用縮放級別。這就是問題所在。我不知道縮放的哪個值應該是。

其中一個企圖是

1 /((屏幕尺寸對角線)/像素長寬比) = 1 /(4.95/3) = 0.6060(60)

應用本縮放使它看起來很好。如果我遵循與亞馬遜Kindle HDX相同的方法,它也可以。

但是如果我跟LG L70去我得到如下:

1 /(4.5/1.25)= ... 0.27777777

的問題是,將這種放大的東西與Nexus 5相比,它的體積更小(因爲縮小了很多),而在Chrome模擬模式下,它們看起來非常相似。

請讓我知道是否有任何信息可以幫助解決這個難題。

回答

4

像素寬高比決定了寬度和高度之比,這是衡量設備上「正方形」像素的度量。

但是,Google允許您自定義設備像素比例。這測量了多少個設備像素映射到單個邏輯像素(CSS中的1px)。

我相信設備像素比例是使各種屏幕尺寸顯示相同尺寸的重要因素。

使用設備像素比率來計算有效縮放的密度計算可以在一個維度上計算,不需要使用對角線測量。

要在桌面上計算有效css_width從片劑:

desktop_pixels = tablet_pixels *(desktop_ppi/tablet_ppi)(1)

tablet_pixels = tablet_css_width * tablet_pixel_density

desktop_pixels = desktop_css_width * desktop_pixel_density

(1)

desktop_css_width * desktop_pixel_density = tablet_css_width * tablet_pixel_density *(desktop_ppi/tablet_ppi)

重新排列

desktop_css_width = tablet_css_width *(tablet_pixel_density/desktop_pixel_density)* (desktop_ppi/tablet_ppi)

邏輯縮放因子是desktop_css_width/tablet_css_width

zoom_factor =(tablet_pixel_density/desktop_pixel_density)*(desktop_ppi/tablet_ppi)