首先,pt是一個物理常量,是現實世界的度量單位,有肯定的數值,1pt = 1/72英尺
。python
而像素是一個變量,基於顯示設備的參數不一樣,一個像素的大小也不盡相同。而像素大小的計算方式就是DPI(dots per inch),固然,在如今這個討論的情景下,其實DPI就是PPI(pixels per inch)。通常咱們聊顯示器的DPI的時候,咱們說的就是PPI。算法
不想了解原理的話,能夠直接拿一個相對通用但不正確的公式:windows
pt = px * 0.75
其實就是小學數學。已知下面的條件code
上面公式的由來正是假設DPI是96:blog
pt = px * 72 / DPI pt = px * 72 / 96 pt = px * 0.75
舉例具體場景來講,把圖片的寬度換算成pt單位。整個換算邏輯是:圖片
最終代碼是get
from PIL import Image image = Image.open('in.png') dpi = image.info.get('dpi', 96.0) ratio = 72.0 / float(dpi) width_by_pt = image.width * ratio
參考資料:數學