在介紹優麒麟操作系統高分屏解決方案之前,我們有必要了解幾個概念:
DPI圖片
對于電腦而言,PPI 有三個層次:
1)顯示器 PPI,這是硬件,其 PPI 是出廠固定的,不可以更改的;
2)操作系統 PPI,操作系統可以将顯示器設置成自己的分辨率,作為用戶,對我們視覺有影響的是這個分辨率;
PPI圖片
接下來開始進入主題。随着顯示器質量的提高,高分屏逐漸增多,很多用戶平時使用的機器都是2k屏甚至是4k屏,顯示器分辨率變大後,同樣的物理尺寸下可以表示更多的點。
優麒麟高分屏下自研應用的顯示效果
優麒麟高分屏下第三方應用的顯示效果
優麒麟系統上分别對于 Qt 與 GTK 這兩平台上所寫應用進行了适配工作。
Qt 平台Qt 提供了以下方式來在應用程序中處理高DPI的支持:
一個關于高DPI術語表:
術語 |
定義 |
Device Independent Pixels |
應用程序使用像素,取決于操作系統獲取Qt的縮放比例 |
Device Pixels |
顯示器的像素 |
Device Pixel Ratio |
适用于操作系統或者Qt的比例系數 |
Logical DPI |
将字體大小轉換為以像素為單位的字體大小的分辨率,标準值為96,128,192... |
Physical DPI |
即顯示器的物理分辨率 |
對于 GTK 的程序,有以下兩種環境變量用于生效:
最後還需要介紹一些關于 Xresources 的知識,在 ~/.Xresources 文件中設置 xft.dpi 幾乎可以縮放所有 Xorg 應用程序的字體,例如:xft.dpi: 192,這将會把字體放大兩倍,系統中默認 dpi 為 96。
介紹以上三種縮放方式,每一種方式都有自己的作用(縮放UI或文本),因此我們需要将他們适當的結合起來,整理成如下的一個表格:
應用程序 |
Xresources |
GTK環境變量 |
QT環境變量 |
Firefox&&Chrome |
UI&&文本 |
UI&&文本 | |
GTK Apps |
文本 |
UI&&文本 | |
常規 Xorg Apps |
文本 | ||
QT Apps |
文本 |
UI&&文本 |
在優麒麟系統中結合以上三種方式的特點,将縮放接口統一整合到了 ukui-settings-daemon 之中,從而實現在高分屏下的縮放效果,縮放接口為:
gsettings set org.ukui.SettingsDaemon.plugins.xsettings scaling-factor 縮放倍數
以上就是對優麒麟高清屏支持縮放技術的介紹,後續将為大家帶來更多優麒麟操作系統的開發經驗分享。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!