鍍金池/ 問(wèn)答/HTML5  Java  PHP  HTML/ 如何算出圖片的尺寸 mm 或者 cm

如何算出圖片的尺寸 mm 或者 cm

如何算出圖片的尺寸 mm 或者 cm

回答
編輯回答
不討喜

我覺(jué)得這不是一個(gè)壞問(wèn)題啊,為什么會(huì)有那么多人踩呢?不要急著踩別人,你會(huì)算的話(huà),你出來(lái)給我走兩步看看?

dpi概念

首先,我們要明確兩個(gè)概念:dpippi,dpidot per inch的縮寫(xiě),ppipixel per inch的縮寫(xiě),意思就是“每英寸多少像素”。在顯示器上,dpi就等于ppi,所以我們下面就都以dpi為例。

那么我們的顯示器的dpi怎么算呢?首先,你可以通過(guò)顯示器的設(shè)置,查看一下你當(dāng)前的分辨率是多少,比如我現(xiàn)在正用的這臺(tái)顯示器,它的分辨率是2560x1440,根據(jù)勾股定理(裝逼的話(huà)也可以叫畢達(dá)哥拉斯定理,愛(ài)國(guó)人士稱(chēng)為勾股定理,雖然實(shí)際上勾股從來(lái)就不是一個(gè)定理,而畢達(dá)哥拉斯是真真正正證明了這個(gè)定理的),我們可以算出對(duì)角線(xiàn)是2560的平方加上1440的平方然后再開(kāi)根號(hào),得到2937.20956,那么因?yàn)檫@臺(tái)顯示器大約是27英寸的,所以我們可以用2937.20956除以27英寸,得到108.7855,這就是這個(gè)顯示器的dpi了。

計(jì)算圖片的厘米數(shù)

接下來(lái)的事情就好辦了,假設(shè),你有一張jpg圖片或者png圖片,它的寬是1088像素,用這個(gè)值除以上面的dpi,就可以得到10英寸這個(gè)數(shù)值,接下來(lái),我們?cè)侔延⒋鐡Q算成厘米,因?yàn)橐挥⒋绲扔?code>2.54厘米,所以這張圖片的寬度就是25.4厘米,254毫米,高度的計(jì)算類(lèi)似。

js求解

接下來(lái),這位大兄弟問(wèn)怎么樣用Javascript獲得這個(gè)尺寸?

那么,首先我們必得要先知道如何用Javascript獲得dpi??梢赃@樣做:我們先造出一個(gè)虛擬div,設(shè)定它的寬和高都是1in,也就是1英寸,注意是1in而不是1px哦,不要搞錯(cuò)了。比如這樣:

<div id="dpi" style="height: 1in; width: 1in; position: absolute; left: -100%; top: -100%;"></div>

然后我們?cè)儆?code>js算一下它的像素寬度就得到了這臺(tái)顯示器的dpi

function getDPI() {
  return document.getElementById("dpi").offsetHeight;
}

得到了dpi,聰明如你一定能猜出如何計(jì)算圖片的尺寸了吧?

2017年3月2日 02:51