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

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

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

鴻蒙開發(fā)教學(xué)-圖片的引用

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-02-01 17:36 ? 次閱讀

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

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

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

加載圖片資源

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

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

  • 本地資源

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

Image('images/view.jpg')
.width(200)
.width(200)
.width(200)
  • 網(wǎng)絡(luò)資源

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

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

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

調(diào)用方式:

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

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

image.png

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

調(diào)用方式:

Image($rawfile('snap'))
Image($rawfile('snap'))
Image($rawfile('snap'))
  • 媒體庫file://data/storage 支持file://路徑前綴的字符串,用于訪問通過媒體庫提供的圖片路徑。 a. 調(diào)用接口獲取圖庫的照片url。
import picker from '@ohos.file.picker';
@Entry
@Component
struct Index {
  @State imgDatas: string[] = [];
  // 獲取照片url集
  getAllImg() {
    
    let result = new Array< string >();
    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ù),獲取圖庫的所有圖片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. 從媒體庫獲取的url格式通常如下。

Image('file://media/Photos/5')
.width(200)
.width(200)
.width(200)
  • base64 路徑格式為data:image/[png|jpeg|bmp|webp];base64,[base64 data],其中[base64 data]為Base64字符串?dāng)?shù)據(jù)。 Base64格式字符串可用于存儲圖片的像素數(shù)據(jù),在網(wǎng)頁上使用較為廣泛。

審核編輯 黃宇

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

    關(guān)注

    33

    文章

    8447

    瀏覽量

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

    關(guān)注

    1

    文章

    62

    瀏覽量

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

    關(guān)注

    57

    文章

    2302

    瀏覽量

    42689
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙ArkTS聲明式組件:ImageSpan

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

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

    一、解壓項(xiàng)目注意項(xiàng)目包不能為中文 二、用數(shù)據(jù)線將裝好DevEco Studio的電腦與設(shè)置為開發(fā)者模式的鴻蒙手機(jī)相連接。 三、將項(xiàng)目包托進(jìn)DevEco Studio 中 注意項(xiàng)目包文件不能有嵌套 四
    發(fā)表于 05-24 15:12

    鴻蒙OS開發(fā)實(shí)例:【瀑布流式圖片瀏覽】

    瀑布流式展示圖片文字,在當(dāng)前產(chǎn)品設(shè)計中已非常常見,本篇將介紹關(guān)于WaterFlow的圖片瀏覽場景,順便集成Video控件,以提高實(shí)踐的趣味性
    的頭像 發(fā)表于 03-29 17:38 ?1074次閱讀
    <b class='flag-5'>鴻蒙</b>OS<b class='flag-5'>開發(fā)</b>實(shí)例:【瀑布流式<b class='flag-5'>圖片</b>瀏覽】

    鴻蒙APP開發(fā)實(shí)戰(zhàn):【Api9】拍照、拍視頻;選擇圖片、視頻、文件工具類

    鴻蒙開發(fā)過程中,經(jīng)常會進(jìn)行系統(tǒng)調(diào)用,拍照、拍視頻、選擇圖庫圖片、選擇圖庫視頻、選擇文件。今天就給大家分享一個工具類。
    的頭像 發(fā)表于 03-26 16:27 ?706次閱讀
    <b class='flag-5'>鴻蒙</b>APP<b class='flag-5'>開發(fā)</b>實(shí)戰(zhàn):【Api9】拍照、拍視頻;選擇<b class='flag-5'>圖片</b>、視頻、文件工具類

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開發(fā):【短信服務(wù)】

    文檔》 針對鴻蒙成長路線打造的鴻蒙學(xué)習(xí)文檔 。話不多說,我們直接看詳細(xì)資料 鴻蒙(OpenHarmony )學(xué)習(xí)手冊(共計1236頁)與鴻蒙(OpenHarmony )
    發(fā)表于 03-03 21:29

    未來從事鴻蒙開發(fā)?是否會有前景?

    鴻蒙的未來發(fā)展肯定很有前景的,鴻蒙作為新出的國產(chǎn)操作系統(tǒng)。它不僅只是手機(jī)操作系統(tǒng),鴻蒙的出發(fā)點(diǎn)就是萬物互聯(lián)。包含原生應(yīng)用開發(fā)、車載、智能設(shè)備、數(shù)碼、智能家居家電等等。如此大的市場分布,
    發(fā)表于 02-19 21:31

    使用 Taro 開發(fā)鴻蒙原生應(yīng)用 —— 快速上手,鴻蒙應(yīng)用開發(fā)指南

    隨著鴻蒙系統(tǒng)的不斷完善,許多應(yīng)用廠商都希望將自己的應(yīng)用移植到鴻蒙平臺上。最近,Taro 發(fā)布了 v4.0.0-beta.x 版本,支持使用 Taro 快速開發(fā)鴻蒙原生應(yīng)用,也可將現(xiàn)有的
    的頭像 發(fā)表于 02-02 16:09 ?803次閱讀
    使用 Taro <b class='flag-5'>開發(fā)</b><b class='flag-5'>鴻蒙</b>原生應(yīng)用 —— 快速上手,<b class='flag-5'>鴻蒙</b>應(yīng)用<b class='flag-5'>開發(fā)</b>指南

    鴻蒙HarmonyOS引用圖片的方法

    前言 Image通過調(diào)用接口來創(chuàng)建,接口調(diào)用形式如下: ? Image(src: string | Resource | media.PixelMap) ? 該接口通過圖片數(shù)據(jù)源獲取圖片,支持本地圖片
    的頭像 發(fā)表于 02-01 14:35 ?928次閱讀
    <b class='flag-5'>鴻蒙</b>HarmonyOS<b class='flag-5'>引用</b><b class='flag-5'>圖片</b>的方法

    鴻蒙開發(fā)教程

    去年8 月份華為發(fā)布會上,華為發(fā)布了HarmonyOS NEXT預(yù)覽版,宣布不再兼容安卓應(yīng)用。大家期待的純血鴻蒙終于要來臨了,next 預(yù)覽版本現(xiàn)在已經(jīng)開放申請渠道了,Next 開發(fā)者預(yù)覽版本目前只
    的頭像 發(fā)表于 01-31 17:11 ?705次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>教程

    鴻蒙開發(fā)用什么語言?

    兩種開發(fā)方向 我們常說鴻蒙開發(fā),但是其實(shí)鴻蒙開發(fā)分為兩個方向: 一個是系統(tǒng)級別的開發(fā),比如驅(qū)動,
    的頭像 發(fā)表于 01-30 16:12 ?1459次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>用什么語言?

    鴻蒙開發(fā)【設(shè)備開發(fā)基礎(chǔ)知識】

    鴻蒙開發(fā)基礎(chǔ)知識講解
    的頭像 發(fā)表于 01-29 18:44 ?924次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>【設(shè)備<b class='flag-5'>開發(fā)</b>基礎(chǔ)知識】

    鴻蒙ArkUI開發(fā)-Tabs組件的使用

    鴻蒙ArkUI開發(fā)-Tabs組件的使用
    的頭像 發(fā)表于 01-19 16:01 ?1704次閱讀
    <b class='flag-5'>鴻蒙</b>ArkUI<b class='flag-5'>開發(fā)</b>-Tabs組件的使用

    鴻蒙開發(fā)OpenHarmony組件復(fù)用案例

    ; ...... } 開發(fā)實(shí)踐 我們看下組件復(fù)用的實(shí)際使用案例。示例中,會創(chuàng)建一個圖片列表頁面,使用懶加載LazyForEach,以及組件復(fù)用能力。 創(chuàng)建數(shù)據(jù)源 首先,創(chuàng)建了一個業(yè)務(wù)對象類MyImage
    發(fā)表于 01-15 17:37

    鴻蒙物聯(lián)網(wǎng)基礎(chǔ)

    關(guān)于物聯(lián)網(wǎng)架構(gòu)以及鴻蒙第三方應(yīng)用庫的引用方式
    的頭像 發(fā)表于 01-08 08:37 ?492次閱讀
    <b class='flag-5'>鴻蒙</b>物聯(lián)網(wǎng)基礎(chǔ)

    鴻蒙開發(fā)南向環(huán)境搭建教學(xué)

    南向開發(fā)環(huán)境搭建教學(xué),更多鴻蒙開發(fā)資料可以前往高清完整版 《鴻蒙開發(fā)4.0基礎(chǔ)-高階文檔》找保存
    發(fā)表于 01-05 16:38