自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在OpenHarmony應(yīng)用側(cè)獲取屏幕DPI

系統(tǒng) OpenHarmony
筆者之前分享過(guò)如何在設(shè)備側(cè)修改屏幕 DPI,本文則介紹在OpenHarmony應(yīng)用側(cè)獲取屏幕DPI。

想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

1、應(yīng)用側(cè)獲取屏幕DPI 實(shí)現(xiàn)思路

如圖這是筆者的兩臺(tái)OpenHarmony設(shè)備,左邊匯思博SEEK100 sl8541e的DPI為213,右邊潤(rùn)開(kāi)鴻 DAYU200的DPI為240。

通過(guò)導(dǎo)入@ohos.display包來(lái)使用getDefaultDisplaySync()方法以獲取屏幕 DPI值的方法。

import display from '@ohos.display';

@Entry
@Component
struct Index {
  @State displayClass: display.Display | null = null

  aboutToAppear(){
    try {
      this.displayClass = display.getDefaultDisplaySync();
      console.info('Test densityDPI:' + JSON.stringify(this.displayClass.densityDPI));
    } catch (exception) {
      console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
    }
  }

  build() {
    Row() {
      Column() {
        Text('屏幕DPI是'+JSON.stringify(this.displayClass.densityDPI))
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

2、更改開(kāi)發(fā)板的屏幕DPI(以DAYU200為例)

(1)方法一:更改源碼編譯燒錄固件

在源碼foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml文件中修改dpi,編譯后燒錄固件。

<!--Window display dpi, valid range is 80~640, use 0 if no configuration is requeired-->
    <dpi>240</dpi>

(2)方法二:發(fā)送display_manager_config.xml文件至設(shè)備etc/window/resources

OpenHarmony固件編譯燒錄進(jìn)入設(shè)備后,display_manager_config.xml文件會(huì)被預(yù)編譯打包至設(shè)備端etc/window/resources目錄下,什么,為什么只有window/resources字段,因?yàn)閛hos_prebuilt_etc就是把文件放進(jìn)設(shè)備的etc文件夾。

foundation/window/window_manager/resources/config/BULID.gn文件如下,
下面代碼的意思是源碼foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml會(huì)真正安裝在設(shè)備中的etc/window/resources文件位置,

ohos_prebuilt_etc("display_manager_config") {
  if (device_name == "rk3568") {
    source = "http://foundation/window/window_manager/resources/config/rk3568/display_manager_config.xml"
    install_enable = true
···
···
  relative_install_dir = "window/resources"
}

步驟如下:

# 進(jìn)入sdk\版本號(hào)\toolchain輸入cmd打開(kāi)命令行,重新加載系統(tǒng)為可讀寫(xiě)
hdc_std shell mount -o remount,rw /

# 替換/etc/window/resources中的display_manager_config.xml文件
hdc_std file send C:\Users\jjh\display_manager_config.xml /etc/window/resources

# 然后重啟開(kāi)發(fā)板讓設(shè)置生效
hdc reboot

3、參考資料

  • https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-display.md。
  • https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/faqs-graphics.md。

想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

責(zé)任編輯:jianghua 來(lái)源: 51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2023-12-11 17:30:52

預(yù)安裝應(yīng)用鴻蒙Launcher

2023-12-11 17:26:21

Launcher鴻蒙預(yù)安裝應(yīng)用

2019-03-29 13:38:51

Windows 10旋轉(zhuǎn)屏幕

2021-05-07 15:36:50

iOS隱藏應(yīng)用程序

2023-03-16 15:37:48

像素密度觸覺(jué)智能

2018-11-16 09:50:46

Windows 10高分辨率屏幕截圖

2023-02-09 15:32:55

配置雙網(wǎng)卡雙網(wǎng)卡設(shè)置

2019-03-12 10:10:44

Windows 10禁用屏幕截圖

2022-04-25 09:00:46

npm包管理器

2020-11-12 11:50:20

OpenHarmony

2009-01-30 09:12:11

SpringApplicationJavaWeb

2018-07-04 09:47:05

Windows 10Windows屏幕亮度

2019-11-06 11:00:49

Windows 10屏幕截圖Windows

2019-02-22 15:40:50

Windows 10截取屏幕截圖

2022-03-07 05:40:34

桌面LinuxKDE Plasma

2023-03-09 15:10:49

應(yīng)用開(kāi)發(fā)鴻蒙

2019-12-26 13:06:07

Windows 10旋轉(zhuǎn)屏幕Windows

2018-07-30 09:26:39

Windows 10Windows鎖定屏幕

2019-07-26 15:10:49

Windows 10屏幕緩存Windows

2022-03-02 16:08:31

Harmony應(yīng)用開(kāi)發(fā)鴻蒙
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)