2015-04-23 44 views
0

我試圖在移動應用程序中創建一個標尺,無論iPhone或Android的型號如何,它都可以正確縮放。我想最簡單的方法是創建一個絕對單位的SVG元素。但是,這不能在我的瀏覽器或手機上正確縮放(我的Macbook Pro上的尺寸爲正確尺寸的85%,我的Android手機上尺寸爲正確尺寸的2/3)。我爲默認的SVG DPI,絕對單位,轉換絕對值,縮放等等進行了大量的搜索,並沒有發現任何用處。SVG絕對單位不正確

下面是簡化的代碼:

<!doctype html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Ruler</title> 
</head> 
<body> 
    <svg x="0" y="0" width="6cm" height="10cm" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 
     <g fill="none" stroke="none"> 
      <line x1="0" y1="0" x2="0" y2="10cm" id="backboard" stroke="#000000" stroke-width="3" /> 
     </g> 
    </svg> 
</body> 
</html> 

任何和所有幫助將不勝感激。謝謝。

回答

-2

'默認SVG DPI' - DPI是屏幕的值 - 這在設備之間,尤其是在移動設備之間是不一樣的。

假設你知道屏幕的DPI的像素到毫米式是這樣的:

mm = (pixels * 25.4)/DPI 

換句話說,除非你知道屏幕的DPI值不能有真實世界的單位測量。

1

不幸的是,物理單位並不與任何真實世界的基礎相聯繫,比如實際的屏幕DPI。

它們實際上是基於96的「標準」CSS DPI(即96「CSS像素」)。我認爲CSS規範說瀏覽器可以自由地將DPI調整爲其他值,例如,「1in」實際上是一英寸。但實際上他們沒有一個麻煩。

因此,不幸的是,您需要建立設備的真實DPI並適當縮放座標值。