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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙HarmonyOS引用圖片的方法

王程 ? 來(lái)源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-01 14:35 ? 次閱讀

前言

Image通過(guò)調(diào)用接口來(lái)創(chuàng)建,接口調(diào)用形式如下:

Image(src: string | Resource | media.PixelMap)

該接口通過(guò)圖片數(shù)據(jù)源獲取圖片,支持本地圖片和網(wǎng)絡(luò)圖片的渲染展示。其中,src是圖片的數(shù)據(jù)源。

加載圖片資源

Image支持加載存檔圖(重點(diǎn))、多媒體像素圖(了解即可)兩種類(lèi)型。

存檔圖類(lèi)型數(shù)據(jù)源
存檔圖類(lèi)型的數(shù)據(jù)源可以分為本地資源、網(wǎng)絡(luò)資源、Resource資源、媒體庫(kù)資源和base64。

本地資源

創(chuàng)建文件夾,將本地圖片放入ets文件夾下的任意位置。
Image組件引入本地圖片路徑,即可顯示圖片(根目錄為ets文件夾)。

Image('images/view.jpg')
.width(200)

網(wǎng)絡(luò)資源

引入網(wǎng)絡(luò)圖片需申請(qǐng)權(quán)限ohos.permission.INTERNET,具體申請(qǐng)方式請(qǐng)參考權(quán)限申請(qǐng)聲明。此時(shí),Image組件的src參數(shù)為網(wǎng)絡(luò)圖片的鏈接。

Image('https://www.example.com/example.JPG') // 實(shí)際使用時(shí)請(qǐng)?zhí)鎿Q為真實(shí)地址

Resource資源

使用資源格式可以跨包/跨模塊引入圖片,resources文件夾下的圖片都可以通過(guò)$r資源接口讀取到并轉(zhuǎn)換到Resource格式。

wKgaomW7O4KAAa-0AAPlTbvC--8299.png

調(diào)用方式:

Image($r('app.media.icon'))

還可以將圖片放在rawfile文件夾下。

wKgaomW7O4iASOaJAATP0f9qAjI641.png

還可以將圖片放在rawfile文件夾下。

調(diào)用方式:

Image($rawfile('snap'))

媒體庫(kù)file://data/storage
支持file://路徑前綴的字符串,用于訪問(wèn)通過(guò)媒體庫(kù)提供的圖片路徑。
a. 調(diào)用接口獲取圖庫(kù)的照片url。

import picker from '@ohos.file.picker';
@Entry
@Component
struct Index {
  @State imgDatas: string[] = [];
  // 獲取照片url集
  getAllImg() {
    
    let result = new Array();
    try {
      let PhotoSelectOptions = new picker.PhotoSelectOptions();
      PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
      PhotoSelectOptions.maxSelectNumber = 5;
      let photoPicker = new picker.PhotoViewPicker();
      photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult) => {
        this.imgDatas = PhotoSelectResult.photoUris;
        console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
      }).catch((err) => {
        console.error(`PhotoViewPicker.select failed with. Code: ${err.code}, message: ${err.message}`);
      });
    } catch (err) {
      console.error(`PhotoViewPicker failed with. Code: ${err.code}, message: ${err.message}`);    }
  }

  // aboutToAppear中調(diào)用上述函數(shù),獲取圖庫(kù)的所有圖片url,存在imgDatas中
  async aboutToAppear() {
    this.getAllImg();
  }
  // 使用imgDatas的url加載圖片。
  build() {
    Column() {
      Grid() {
        ForEach(this.imgDatas, item => {
          GridItem() {
            Image(item)
              .width(200)
          }
        }, item => JSON.stringify(item))
      }
    }.width('100%').height('100%')
  }
}

b. 從媒體庫(kù)獲取的url格式通常如下。

Image('file://media/Photos/5')
.width(200)

base64
路徑格式為data:image/[png|jpeg|bmp|webp];base64,[base64 data],其中[base64 data]為Base64字符串?dāng)?shù)據(jù)。
Base64格式字符串可用于存儲(chǔ)圖片的像素?cái)?shù)據(jù),在網(wǎng)頁(yè)上使用較為廣泛

審核編輯 黃宇

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

    關(guān)注

    33

    文章

    8777

    瀏覽量

    152418
  • 數(shù)據(jù)源
    +關(guān)注

    關(guān)注

    1

    文章

    64

    瀏覽量

    9772
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2410

    瀏覽量

    43302
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1987

    瀏覽量

    31112
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    HarmonyOS 應(yīng)用開(kāi)發(fā)賦能套件:鴻蒙原生應(yīng)用開(kāi)發(fā)的 “神助攻”

    的課程、文檔、樣例代碼等資源,在開(kāi)發(fā)者旅程各階段提供全方位的支持。開(kāi)發(fā)者可以通過(guò)鴻蒙開(kāi)發(fā)者官網(wǎng)一站式獲取HarmonyOS賦能套件。 感知階段:快速了解鴻蒙開(kāi)發(fā)理念與最新動(dòng)態(tài)   感知階段主要面向
    發(fā)表于 02-17 16:37

    華為發(fā)布鴻蒙HarmonyOS 5.0.2 Release

    華為鴻蒙HarmonyOS 5.0.2 Release于1月22日在華為開(kāi)發(fā)者官方正式發(fā)布。HarmonyOS 5.0.2 Release在HarmonyOS 5.0.2 Beta1的
    的頭像 發(fā)表于 01-23 16:17 ?783次閱讀

    名單公布!【書(shū)籍評(píng)測(cè)活動(dòng)NO.56】極速探索HarmonyOS NEXT:純血鴻蒙應(yīng)用開(kāi)發(fā)實(shí)踐

    開(kāi)發(fā)的核心技術(shù),以及鴻蒙應(yīng)用在實(shí)際開(kāi)發(fā)中的應(yīng)用方法。 本書(shū)共分為四篇,共計(jì)16章,分別為鴻蒙開(kāi)發(fā)基礎(chǔ)篇、鴻蒙開(kāi)發(fā)進(jìn)階篇、HarmonyOS
    發(fā)表于 01-20 16:53

    HarmonyOS第一課》煥新升級(jí),賦能開(kāi)發(fā)者快速掌握鴻蒙應(yīng)用開(kāi)發(fā)

    HarmonyOS第一課》煥新升級(jí),賦能開(kāi)發(fā)者快速掌握鴻蒙應(yīng)用開(kāi)發(fā) 隨著HarmonyOS NEXT發(fā)布,鴻蒙生態(tài)日益壯大,廣大開(kāi)發(fā)者對(duì)于系統(tǒng)化學(xué)習(xí)平臺(tái)和課程的需求愈發(fā)強(qiáng)烈。近日,華
    發(fā)表于 01-02 14:24

    名單公布!【書(shū)籍評(píng)測(cè)活動(dòng)NO.47】HarmonyOS NEXT啟程:零基礎(chǔ)構(gòu)建純血鴻蒙應(yīng)用

    要在2000萬(wàn) 。這一呼吁引起了全球開(kāi)發(fā)者的關(guān)注,也意味著市場(chǎng)對(duì)HarmonyOS開(kāi)發(fā)人才的需求將快速增長(zhǎng)。 什么是純血鴻蒙 HarmonyOS NEXT,也被稱為純血鴻蒙,是全棧自研
    發(fā)表于 10-14 14:36

    華為“純血”鴻蒙系統(tǒng) HarmonyOS NEXT 將于9月底推出正式版

    據(jù)報(bào)道,正在舉行的 2024 年中國(guó)國(guó)際服務(wù)貿(mào)易交易會(huì)(以下簡(jiǎn)稱“服貿(mào)會(huì)”)一場(chǎng)論壇上,華為鴻蒙行業(yè)解決方案總經(jīng)理陳欣欣透露,華為完全自主開(kāi)發(fā)、原生安全、原生智能的華為“純血”鴻蒙系統(tǒng)
    的頭像 發(fā)表于 09-14 14:27 ?1718次閱讀

    慶科信息獲HarmonyOS高級(jí)應(yīng)用開(kāi)發(fā)能力認(rèn)證!助力品牌快速打造鴻蒙原生應(yīng)用

    近日,上海慶科信息技術(shù)有限公司榮獲HarmonyOS應(yīng)用開(kāi)發(fā)者高級(jí)認(rèn)證,公司在華為鴻蒙生態(tài)的開(kāi)發(fā)能力得到進(jìn)一步拓展,能夠幫助客戶快速開(kāi)發(fā)基于HarmonyOS Next的鴻蒙原生應(yīng)用,
    的頭像 發(fā)表于 07-17 13:24 ?721次閱讀
    慶科信息獲<b class='flag-5'>HarmonyOS</b>高級(jí)應(yīng)用開(kāi)發(fā)能力認(rèn)證!助力品牌快速打造<b class='flag-5'>鴻蒙</b>原生應(yīng)用

    華為HarmonyOS NEXT鴻蒙星河版正式開(kāi)啟Beta計(jì)劃

    在剛剛落幕的華為開(kāi)發(fā)者大會(huì)(HDC 2024)盛會(huì)上,華為震撼宣布HarmonyOS NEXT鴻蒙星河版正式邁入Beta測(cè)試階段,并預(yù)告其商用版本將于今年第四季度璀璨登場(chǎng),預(yù)示著今年10月,搭載全新鴻蒙星河系統(tǒng)的華為手機(jī)即將與消
    的頭像 發(fā)表于 07-15 15:59 ?1160次閱讀

    鴻蒙ArkTS聲明式組件:ImageSpan

    圖片的數(shù)據(jù)源,支持本地圖片和網(wǎng)絡(luò)圖片。 當(dāng)使用相對(duì)路徑引用圖片資源時(shí)
    的頭像 發(fā)表于 06-24 15:37 ?464次閱讀
    <b class='flag-5'>鴻蒙</b>ArkTS聲明式組件:ImageSpan

    鴻蒙原生應(yīng)用元服務(wù)開(kāi)發(fā)-鴻蒙真機(jī)運(yùn)行項(xiàng)目實(shí)戰(zhàn)與注意事項(xiàng)

    、查看設(shè)備運(yùn)行 五、點(diǎn)擊項(xiàng)目結(jié)構(gòu) 六、勾選紅色框圈部分 登錄開(kāi)發(fā)者賬號(hào) 七、選擇好公司 八、等待運(yùn)行完成 九、安裝成功 可以在真機(jī)上體驗(yàn)項(xiàng)目了 本文參考引用HarmonyOS官方開(kāi)發(fā)文檔,基于API9。
    發(fā)表于 05-24 15:12

    華為鴻蒙HarmonyOS NEXT 9月啟動(dòng),下半年全場(chǎng)景布局

    早前這位博主曾在4月29日發(fā)表文章稱,盡管鴻蒙NEXT在常見(jiàn)App適配方面已取得顯著進(jìn)展,但仍有部分功能尚未完全開(kāi)發(fā)完成,可能導(dǎo)致系統(tǒng)顯示暫不支持相關(guān)內(nèi)容。此外,新版本在流暢度方面已基本與現(xiàn)有鴻蒙harmonyOS 4.0持平。
    的頭像 發(fā)表于 05-20 16:07 ?1090次閱讀

    MobTech袤博科技旗下核心SDK產(chǎn)品已全面適配HarmonyOS NEXT鴻蒙星河版

    HarmonyOS NEXT鴻蒙星河版。 不同于安卓系統(tǒng)和IOS系統(tǒng),鴻蒙系統(tǒng)(HarmonyOS)是由華為公司推出的全場(chǎng)景、全平臺(tái)的分布式操作系統(tǒng),具有多設(shè)備協(xié)同、快速響應(yīng)等特點(diǎn)。系
    的頭像 發(fā)表于 05-14 17:41 ?585次閱讀

    HarmonyOS開(kāi)發(fā)案例:【圖片編輯】

    基于canvas組件、圖片編解碼,介紹了圖片編輯實(shí)現(xiàn)過(guò)程。
    的頭像 發(fā)表于 04-22 16:42 ?1037次閱讀
    <b class='flag-5'>HarmonyOS</b>開(kāi)發(fā)案例:【<b class='flag-5'>圖片</b>編輯】

    HarmonyOS攜手庫(kù)洛游戲推動(dòng)《戰(zhàn)雙帕彌什》鴻蒙原生應(yīng)用開(kāi)發(fā)

    4 月 22 日,華為宣布庫(kù)洛游戲的《戰(zhàn)雙帕彌什》正式啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā)項(xiàng)目,與 HarmonyOS NEXT 鴻蒙星河版的方舟引擎展開(kāi)深度合作,旨在提升游戲的運(yùn)行流暢度,為玩家提供更好的動(dòng)作游戲體驗(yàn)。
    的頭像 發(fā)表于 04-22 15:21 ?731次閱讀

    鴻蒙新篇章,領(lǐng)航新征程 I 軟通動(dòng)力榮膺首批“HarmonyOS開(kāi)發(fā)服務(wù)商”

    HarmonyOS開(kāi)發(fā)服務(wù)商”,成為華為該領(lǐng)域首批認(rèn)證服務(wù)商。 軟通動(dòng)力高級(jí)副總裁石蓉(右),華為終端云開(kāi)發(fā)者服務(wù)與平臺(tái)部總裁望岳(左) HarmonyOS開(kāi)發(fā)服務(wù)商是基于華為HarmonyOS系統(tǒng)為行業(yè)客戶開(kāi)發(fā)
    的頭像 發(fā)表于 03-14 17:19 ?596次閱讀
    <b class='flag-5'>鴻蒙</b>新篇章,領(lǐng)航新征程 I 軟通動(dòng)力榮膺首批“<b class='flag-5'>HarmonyOS</b>開(kāi)發(fā)服務(wù)商”