RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發(fā)接口圖形圖像:【@ohos.screen (屏幕)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-29 10:49 ? 次閱讀

屏幕

本模塊提供管理屏幕的一些基礎能力,包括獲取屏幕對象,監(jiān)聽屏幕變化,創(chuàng)建和銷毀虛擬屏幕等。

說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md] > 本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。

本模塊接口為系統(tǒng)接口。

導入模塊

import screen from '@ohos.screen';

screen.getAllScreens

getAllScreens(callback: AsyncCallback>): void

獲取所有的屏幕,使用callback異步回調。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù)

參數(shù)名類型必填說明
callbackAsyncCallback>回調函數(shù)。返回當前獲取的屏幕對象集合。

示例:

var screenClass = null;
screen.getAllScreens((err, data) = > {
    if (err.code) {
        console.error('Failed to get all screens . Cause:  ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in getting all screens . Data:' + JSON.stringify(data));
    screenClass = data[0];
});

screen.getAllScreens

getAllScreens(): Promise>

獲取所有的屏幕,使用Promise異步回調。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型說明
Promise>Promise對象。返回當前創(chuàng)建的屏幕對象集合。

示例:

var screenClass = null;
let promise = screen.getAllScreens();
promise.then((data) = > {
    screenClass = data[0];
    console.log('Succeeded in getting all screens . Data:'+ JSON.stringify(data));
}).catch((err) = > {
    console.log('Failed to get all screens . Cause: ' + JSON.stringify(err));
});

screen.on('connect' | 'disconnect' | 'change')

on(eventType: 'connect' | 'disconnect' | 'change', callback: Callback): void

開啟屏幕狀態(tài)變化的監(jiān)聽。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名類型必填說明
eventTypestring監(jiān)聽事件。 -eventType為"connect"表示屏幕連接事件。 -eventType為"disconnect"表示斷開屏幕連接事件。 -eventType為"change"表示屏幕狀態(tài)改變事件。
callbackCallback回調函數(shù)。返回屏幕的id。

示例:

var callback = (data) = > {
    console.info('Register the callback for screen changes. Data: ' + JSON.stringify(data))
};
screen.on("connect", callback);

screen.off('connect' | 'disconnect' | 'change')

off(eventType: 'connect' | 'disconnect' | 'change', callback?: Callback): void

關閉屏幕狀態(tài)變化的監(jiān)聽。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名類型必填說明
eventTypestring監(jiān)聽事件。 -eventType為"connect"表示屏幕連接事件。 -eventType為"disconnect"表示斷開屏幕連接事件。 -eventType為"change"表示屏幕狀態(tài)改變事件。
callbackCallback回調函數(shù)。返回屏幕的id。

示例:

var callback = (data) = > {
    console.info('Unegister the callback for screen changes. Data: ' + JSON.stringify(data))
};
screen.off("connect", callback);

screen.makeExpand

makeExpand(options:Array, callback: AsyncCallback): void

將屏幕設置為擴展模式,使用callback異步回調。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名類型必填說明
optionsArray<[ExpandOption]>設置擴展屏幕的參數(shù)集合。
callbackCallback回調函數(shù)。返回擴展屏幕的群組id。

示例:

var groupId = null;
screen.makeExpand([{screenId: 0, startX: 0, startY: 0}, {screenId: 1, startX: 1080, startY: 0}], (err, data) = > {
  if (err.code) {
    console.error('Failed to make screens as expand-screen. Cause:' + JSON.stringify(err));
    return;
  }
  groupId = data;
  console.info('Succeeded in making screens as expand-screen.Data:' + JSON.stringify(data));
});

screen.makeExpand

makeExpand(options:Array): Promise

將屏幕設置為擴展模式,使用Promise異步回調。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名類型必填說明
optionsArray<[ExpandOption]>設置擴展屏幕的參數(shù)集合。

返回值:

類型說明
PromisePromise對象。返回擴展屏幕的群組id。

示例:

screen.makeExpand([{screenId: 0, startX: 0, startY: 0}, {screenId: 1, startX: 1080, startY: 0}]).then((data) = > {
  console.info('Succeeded in making screens as expand-screen.Data:' + JSON.stringify(data));
}).catch((err) = > {
  console.error('Failed to make screens as expand-screen. Cause:' + JSON.stringify(err));
});

screen.makeMirror

makeMirror(mainScreen:number, mirrorScreen:Array, callback: AsyncCallback): void

將屏幕設置為鏡像模式,使用callback異步回調。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名類型必填說明
mainScreennumber主屏幕id。
mirrorScreenArray鏡像屏幕id集合。
callbackAsyncCallback回調函數(shù)。返回鏡像屏幕的群組id。

示例:

var mainScreenId = 0;
var mirrorScreenIds = [1, 2, 3];
screen.makeMirror(mainScreenId, mirrorScreenIds, (err, data) = > {
  if (err.code) {
    console.error('Failed to make screens as mirror-screen.Cause:' + JSON.stringify(err));
    return;
  }
  console.info('Succeeded in making screens as mirror-screen.Data:' + JSON.stringify(data));
});

screen.makeMirror

makeMirror(mainScreen:number, mirrorScreen:Array): Promise

將屏幕設置為鏡像模式,使用Promise異步回調。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名類型必填說明
mainScreennumber主屏幕id。
mirrorScreenArray鏡像屏幕id集合。

返回值:

類型說明
PromisePromise對象。返回鏡像屏幕的群組id。

示例:

var mainScreenId = 0;
var mirrorScreenIds = [1, 2, 3];
screen.makeMirror(mainScreenId, mirrorScreenIds).then((data) = > {
  console.info('Succeeded in making screens as mirror-screen.Data:' + JSON.stringify(data));
}).catch((err) = > {
  console.error('Failed to make screens as mirror-screen.Cause:' + JSON.stringify(err));
});

ExpandOption

擴展屏幕的參數(shù)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱參數(shù)類型可讀可寫說明
screenIdnumber屏幕的id。
startXnumber屏幕的起始X軸坐標。
startYnumber屏幕的起始Y軸坐標。

Screen

屏幕實例。

下列API示例中都需先使用[getAllScreens()]方法獲取到Screen實例,再通過此實例調用對應方法。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱參數(shù)類型可讀可寫說明
idnumber屏幕的id。
parentnumber屏幕所屬群組的id。
supportedModeInfoArray<[ScreenModeInfo]>屏幕支持的模式集合。
activeModeIndexnumber當前屏幕所處模式索引。
orientation[Orientation]屏幕方向。

setOrientation

setOrientation(orientation: Orientation, callback: AsyncCallback): void

設置屏幕方向,使用callback異步回調。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù)名類型必填說明
orientation[Orientation]屏幕方向。
callbackAsyncCallback回調函數(shù)。當設置屏幕方向成功,err為undefined,否則為錯誤對象。

示例:

screenClass.setOrientation(screen.Orientation.VERTICAL, (err, data) = > {
    if (err.code) {
        console.error('Failed to setOrientation VERTICAL. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting Orientation VERTICAL. data: ' + JSON.stringify(data));
})

setOrientation

setOrientation(orientation: Orientation): Promise

設置屏幕方向,使用Promise異步回調。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù)名類型必填說明
orientation[Orientation]屏幕方向。

返回值:

類型說明
Promise無返回結果的Promise對象。

示例:

let promise = screenClass.setOrientation(screen.Orientation.VERTICAL);
promise.then((data) = > {
    console.info('Succeeded in setting Orientation VERTICAL. Data: ' + JSON.stringify(data));
}).catch((err) = > {
    console.error('Failed to set Orientation VERTICAL. Cause: ' + JSON.stringify(err));
})

setScreenActiveMode

setScreenActiveMode(modeIndex: number, callback: AsyncCallback): void

設置屏幕當前顯示模式,使用callback異步回調。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù)名類型必填說明
modeIndexnumber模式索引。
callbackAsyncCallback回調函數(shù)。當設置屏幕當前顯示模式成功,err為undefined,否則為錯誤對象。

示例:

var modeIndex = 0;
screenClass.setScreenActiveMode(modeIndex, (err, data) = > {
    if (err.code) {
        console.error('Failed to set ScreenActiveMode 0. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting ScreenActiveMode 0. data: ' + JSON.stringify(data));
})

setScreenActiveMode

setScreenActiveMode(modeIndex: number): Promise

設置屏幕當前顯示模式,使用Promise異步回調。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù)名類型必填說明
modeIndexnumber模式索引。

返回值:

類型說明
Promise無返回結果的Promise對象。

示例:

var modeIndex = 0;
let promise = screenClass.setScreenActiveMode(modeIndex);
promise.then((data) = > {
    console.info('Succeeded in setting ScreenActiveMode 0. Data: ' + JSON.stringify(data));
}).catch((err) = > {
    console.error('Failed to set ScreenActiveMode 0. Cause: ' + JSON.stringify(err));
})

Orientation

屏幕方向枚舉。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱說明
UNSPECIFIED0表示未指定屏幕方向,由系統(tǒng)指定。
VERTICAL1表示指定屏幕為垂直方向。
HORIZONTAL2表示指定屏幕為水平方向。
REVERSE_VERTICAL3表示指定屏幕為反向垂直方向。
REVERSE_HORIZONTAL4表示指定屏幕為反向水平方向。
SENSOR5表示屏幕方向跟隨傳感器方向。
SENSOR_VERTICAL6表示屏幕方向垂直跟隨傳感器方向。
SENSOR_HORIZONTAL7表示屏幕方向水平跟隨傳感器方向。

ScreenModeInfo

屏幕顯示模式信息。

搜狗高速瀏覽器截圖20240326151450.png
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱參數(shù)類型可讀可寫說明HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
idnumber模式id,所支持的模式由具體設備分辨率和刷新率決定。
widthnumber屏幕的寬度。
heightnumber屏幕的高度。
refreshRatenumber屏幕的刷新率。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8575

    瀏覽量

    151014
  • 開發(fā)
    +關注

    關注

    0

    文章

    370

    瀏覽量

    40836
  • 鴻蒙
    +關注

    關注

    57

    文章

    2339

    瀏覽量

    42805
  • OpenHarmony
    +關注

    關注

    25

    文章

    3713

    瀏覽量

    16253
收藏 人收藏

    評論

    相關推薦

    深入淺出,帶你了解Qualcomm的圖形圖像優(yōu)化之道

    用戶的青睞,為此在2017年8月Qualcomm在深圳、北京、上海舉行了三場“探索移動圖形圖像處理——Qualcomm開發(fā)者公開課”,全面向開發(fā)者介紹深層次的移動端圖形圖像的優(yōu)化之道!
    發(fā)表于 09-07 13:47 ?7356次閱讀

    鴻蒙開發(fā)接口圖形圖像:【@ohos.display (屏幕屬性)】

    屏幕屬性提供管理顯示設備的一些基礎能力,包括獲取默認顯示設備的信息,獲取所有顯示設備的信息以及監(jiān)聽顯示設備的插拔行為。
    的頭像 發(fā)表于 05-30 11:39 ?807次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>圖形圖像</b>:【@<b class='flag-5'>ohos</b>.display (<b class='flag-5'>屏幕</b>屬性)】

    鴻蒙開發(fā)接口圖形圖像:【@ohos.screenshot (屏幕截圖)】

    本模塊提供屏幕截圖的能力,截取屏幕時支持設置截取的區(qū)域、大小等圖像信息。
    的頭像 發(fā)表于 05-29 15:47 ?908次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>圖形圖像</b>:【@<b class='flag-5'>ohos</b>.screenshot (<b class='flag-5'>屏幕</b>截圖)】

    鴻蒙開發(fā)接口圖形圖像:【@ohos.window (窗口)】

    窗口提供管理窗口的一些基礎能力,包括對當前窗口的創(chuàng)建、銷毀、各屬性設置,以及對各窗口間的管理調度。
    的頭像 發(fā)表于 05-30 10:07 ?1153次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>圖形圖像</b>:【@<b class='flag-5'>ohos</b>.window (窗口)】

    鴻蒙原生應用元服務開發(fā)-WebGL網(wǎng)頁圖形開發(fā)接口說明

    一、場景介紹 WebGL主要幫助開發(fā)者在前端開發(fā)中完成圖形圖像的相關處理,比如繪制彩色圖形等。目前該功能僅支持使用兼容JS的類Web開發(fā)范式
    發(fā)表于 03-11 15:51

    圖形圖像處理技術大會搶座中

    圖形圖像處理技術大會搶座中全球頂級專家和企業(yè)參與。中國電子學會繼云計算大會、物聯(lián)網(wǎng)大會、傳感器大會后又一年度盛會。技術交流、方案展示、產品發(fā)布---期待您的參與。
    發(fā)表于 09-16 14:14

    北京將召開圖形圖像技術應用交流大會 2013年11月將在北京...

    北京將召開圖形圖像技術應用交流大會 2013年11月將在北京舉行圖形圖像技術應用大會,大會將邀請國內圖像圖形處理技術領域的著名專家,就圖形圖像處理技術的應用和最新動態(tài)特邀報告。敬請關注
    發(fā)表于 09-17 15:02

    北京將召開圖形圖像技術應用交流大會 2013年11月將在北京...

    北京將召開圖形圖像技術應用交流大會2013年11月將在北京舉行圖形圖像技術應用大會,大會將邀請國內圖像圖形處理技術領域的著名專家,就圖形圖像處理技術的應用和最新動態(tài)特邀報告。敬請關注中
    發(fā)表于 09-17 15:06

    計算機圖形圖像處理最新應用分析

    計算機圖形圖像處理最新應用分析 圖形圖像處理是研究計算機除了圖形圖像的原理、方法和技術的科學。它是計算機科學和應用的重要分支之一,同時隨著計算機技術的發(fā)展,圖形圖像技術在土木工程、機械
    發(fā)表于 09-23 14:56

    主要做圖形圖像處理,求助板子選擇!

    各位前輩大家好!我主要是做C/C++項目開發(fā)的,最近項目需要用到FPGA板子來做圖形圖像處理,困于自己對FPGA還不了解,特來求助大家啊!{:1:}我想要實現(xiàn)的功能是讀取SD卡中的視頻然后將視頻里面
    發(fā)表于 03-30 20:19

    圖形圖像處理實驗的工程文件免費下載

      本文檔的主要內容詳細介紹的是圖形圖像處理實驗的工程文件免費下載。
    發(fā)表于 11-03 17:50 ?9次下載
    <b class='flag-5'>圖形圖像</b>處理實驗的工程文件免費下載

    鴻蒙開發(fā)圖形圖像——@ohos.effectKit (圖像效果)

    圖像效果提供處理圖像的一些基礎能力,包括對當前圖像的亮度調節(jié)、模糊化、灰度調節(jié)、智能取色等。 該模塊提供以下圖像效果相關的常用功能: Filter:效果類,用于添加指定效果到
    的頭像 發(fā)表于 02-22 16:08 ?391次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>圖形圖像</b>——@<b class='flag-5'>ohos</b>.effectKit (<b class='flag-5'>圖像</b>效果)

    鴻蒙OS元服務開發(fā)說明:【W(wǎng)ebGL網(wǎng)頁圖形開發(fā)接口

    WebGL主要幫助開發(fā)者在前端開發(fā)中完成圖形圖像的相關處理,比如繪制彩色圖形等。目前該功能僅支持使用兼容JS的類Web開發(fā)范式
    的頭像 發(fā)表于 04-02 17:02 ?460次閱讀
    <b class='flag-5'>鴻蒙</b>OS元服務<b class='flag-5'>開發(fā)</b>說明:【W(wǎng)ebGL網(wǎng)頁<b class='flag-5'>圖形</b>庫<b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b>】

    鴻蒙開發(fā)接口圖形圖像:【W(wǎng)ebGL】

    WebGL提供圖形繪制的能力,包括對當前繪制圖形的位置、顏色等進行處理。
    的頭像 發(fā)表于 05-30 09:31 ?510次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>圖形圖像</b>:【W(wǎng)ebGL】

    鴻蒙開發(fā)接口圖形圖像:【W(wǎng)ebGL2】

    WebGL2支持圖形的繪制,包括對當前繪制圖形的位置、顏色等進行處理,其中相對WebGL來說對渲染管道和著色語言進行了增強。
    的頭像 發(fā)表于 05-30 15:19 ?517次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>圖形圖像</b>:【W(wǎng)ebGL2】
    RM新时代网站-首页