天天看點

DPI 設定過大該如何還原?

現在的消費類電子裝置螢幕越做越小,分辨率卻反而在往上增加,例如 Surface Pro,10.6 寸的螢幕,1080p 的全高清顯示,會讓 Windows 顯示的文字變得異常的小。這個現象其實是因為螢幕點距比标準的要小而導緻的(約207.82點/英寸,而标準的約為96點/英寸),顯示效果雖更加細膩,但是 Windows 對文字的渲染仍舊是預設的 DPI(通過下文可以知道它是96點/英寸),是以文字也就變小了。

要讓文字看起來不那麼吃力,我們一般的做法是放大系統的 DPI。其實這個有點類似于數字圖像采樣的 PPI 的概念了,假設調高 Windows DPI,讓 Windows 針對 UI 元素的采樣分辨率變高,那麼重新采樣過後的 UI 元素會獲得比之前更大的數字分辨率,長和寬均獲得了更多的像素,在同一塊螢幕上,占用的顯示像素點就要比以前多,是以,你看到的元素就變大了。

DPI 設定過大該如何還原?

可有的時候,萬一我們自定義了一個過大的 DPI (例如500%),在應用并且重新登入後,可以發現系統界面元素變得過大,于是我們再也不能通過操縱 UI 的方式,前往控制台找到這個設定将其改回來。此時我們有個校正的辦法是重新開機到安全模式。

DPI 的設定是使用者相關的,也就是說,你所做的 DPI 設定,僅對你目前的這個使用者有效。是以,DPI 的設定也是儲存在系統資料庫的 HKCU 分支下面。比直接操作系統資料庫更安全的方法是重新開機到安全模式,然後将 DPI 的設定改回正常以後,再重新啟動電腦。這是因為,安全模式下不應用 DPI 縮放設定,所有 UI 元素的大小将恢複正常。

注意,在進階啟動選項裡,如果選擇"啟用低分辨率視訊"模式,那麼 UI 元素的尺寸還将是過大的,而且反而會加劇(因為分辨率更低了)。這個模式可以用來解決顯示卡驅動的一些問題,但是,DPI 設定與顯示卡驅動無關,是以請注意選擇進入安全模式修複這一問題。

如果你還想了解 DPI 設定在系統資料庫中存放的位置的話,那麼以 Win8 為例,它位于 HKEY_CURRENT_USER\Control Panel\Desktop 項目下,鍵名為"LogPixels"。預設地,系統裡不會有這個鍵和鍵值,但是如果你設定過 DPI 縮放,那麼這個鍵就出現了。預設設定下,Windows 的 DPI 絕對值其實是96,隻不過通過 DPI 設定界面是看不出來這一點的。這裡給出 DPI 設定與系統資料庫鍵值的對應關系:

DPI 設定

系統資料庫鍵值

較小 - 100%

96

中等 - 125%

120

較大 - 150%

144

可以看出,系統資料庫存放的鍵值是真實的 DPI 絕對值,而 UI 裡面顯示的百分比是基于"96 '=' 100%"這個定義的。是以,手動調整 DPI 設定後,你就可以輕松算出真實的 DPI 值了。對于像 Surface Pro 這樣的裝置,系統已經會自動将預設 DPI 設為 150%。

本文轉自 hbycscc 51CTO部落格,原文連結:http://blog.51cto.com/mvperic/1186442

繼續閱讀