tft每日頭條

 > 科技

 > 麒麟操作系統分辨率

麒麟操作系統分辨率

科技 更新时间:2024-11-29 12:00:34

在介紹優麒麟操作系統高分屏解決方案之前,我們有必要了解幾個概念:

  • 分辨率:指給定的距離(或面積)内"點"或"像素"的數量。有時被稱為"解析度"。常用的描述分辨率的單位有:DPI(點每英寸)和 PPI(像素每英寸)。
  • DPI (Dots Per Inch):常用于描述打印圖像上每英寸的墨點數量,可以理解為 dpi 是打印機通過墨粉成滴将圖像呈現在紙張上的一種表達方式;每英寸上 dots 數會影響打印的細節和整體質量;當我們設計的圖像要進行物理打印時,打印機将使用 DPI,不同型号和樣式的打印機都會根據其設置産生自己的唯一 DPI。

麒麟操作系統分辨率(經驗分享優麒麟操作系統高分屏解決方案)1

DPI圖片

  • PPI (Pixels Per Inch):通常用于描述數字圖像的分辨率,表示屏幕可以顯示的固定像素數和數字圖像中像素的密度;PPI 計算公式 =√(x^2 y^2)/z,x為長度像素數,y為寬度像素數,z為屏幕尺寸;由于曆史原因我們現在平時所說的軟件像素應該是 PPI,中文意思是每英寸像素數,在系統中修改的 DPI 其實就是這個 PPI。

對于電腦而言,PPI 有三個層次:

1)顯示器 PPI,這是硬件,其 PPI 是出廠固定的,不可以更改的;

2)操作系統 PPI,操作系統可以将顯示器設置成自己的分辨率,作為用戶,對我們視覺有影響的是這個分辨率;

麒麟操作系統分辨率(經驗分享優麒麟操作系統高分屏解決方案)2

PPI圖片

接下來開始進入主題。随着顯示器質量的提高,高分屏逐漸增多,很多用戶平時使用的機器都是2k屏甚至是4k屏,顯示器分辨率變大後,同樣的物理尺寸下可以表示更多的點。

麒麟操作系統分辨率(經驗分享優麒麟操作系統高分屏解決方案)3

優麒麟高分屏下自研應用的顯示效果

麒麟操作系統分辨率(經驗分享優麒麟操作系統高分屏解決方案)4

優麒麟高分屏下第三方應用的顯示效果

優麒麟系統上分别對于 Qt 與 GTK 這兩平台上所寫應用進行了适配工作。

Qt 平台

Qt 提供了以下方式來在應用程序中處理高DPI的支持:

  • QT_AUTO_SCREEN_SCALE_FACTOR 根據顯示器的像素密度啟用自動縮放。這不會更改磅号字體的大小,多個屏幕可能會獲得不同的比例因子。
  • QT_SCALE_FACTOR 定義整個應用程序的全局比例因子,包括字體的大小。
  • QT_SCREEN_SCALE_FACTORS 指定每個屏幕的比例因子,這不會更改字體的大小。
  • 從 Qt 5.6 開始引入了 Qt::AA_EnableHighDpiScaling 屬性,使得應用程序自動檢測顯示器的像素密度來實現自動縮放;而 Qt::AA_DisableHighDpiScaling 屬性用于關閉應用程序的縮放,不管上述三個變量的值為如何。
  • 從 Qt 5.14 引入了環境變量 QT_ENABLE_HIGHDPI_SCALING 替換舊有的 QT_AUTO_SCREEN_SCALE_FACTOR,可以用來檢測顯示器的像素密度來實現自動縮放 。

一個關于高DPI術語表:

術語

定義

Device Independent Pixels

應用程序使用像素,取決于操作系統獲取Qt的縮放比例

Device Pixels

顯示器的像素

Device Pixel Ratio

适用于操作系統或者Qt的比例系數

Logical DPI

将字體大小轉換為以像素為單位的字體大小的分辨率,标準值為96,128,192...‍‍

Physical DPI

即顯示器的物理分辨率

GTK 平台

對于 GTK 的程序,有以下兩種環境變量用于生效:

  • GDK_SCALE:以整數倍來縮放UI元素。
  • GDK_DPI_SCALE:用于補償通過GDK_SCALE進行縮放後應用程序的字體分辨率。
Xresources

最後還需要介紹一些關于 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每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved