Image通过调用接口来创建,接口调用形式如下:
Image(src: string | Resource | media.PixelMap)
Image(src: string | Resource | media.PixelMap)
Image(src: string | Resource | media.PixelMap)该接口通过图片数据源获取图片,支持本地图片和网络图片的渲染展示。其中,src是图片的数据源。
加载图片资源
Image支持加载存档图(重点)、多媒体像素图(了解即可)两种类型。
存档图类型数据源 存档图类型的数据源可以分为本地资源、网络资源、Resource资源、媒体库资源和base64。
- 本地资源
创建文件夹,将本地图片放入ets文件夹下的任意位置。 Image组件引入本地图片路径,即可显示图片(根目录为ets文件夹)。
Image('images/view.jpg')
.width(200)
.width(200)
.width(200)- 网络资源
引入网络图片需申请权限ohos.permission.INTERNET,具体申请方式请参考权限申请声明。此时,Image组件的src参数为网络图片的链接。
Image('https://www.example.com/example.JPG') // 实际使用时请替换为真实地址
Image('https://www.example.com/example.JPG') // 实际使用时请替换为真实地址
Image('https://www.example.com/example.JPG') // 实际使用时请替换为真实地址- Resource资源
使用资源格式可以跨包/跨模块引入图片,resources文件夹下的图片都可以通过$r资源接口读取到并转换到Resource格式。
调用方式:
Image($r('app.media.icon'))
Image($r('app.media.icon'))
Image($r('app.media.icon'))还可以将图片放在rawfile文件夹下。

还可以将图片放在rawfile文件夹下。
调用方式:
Image($rawfile('snap'))
Image($rawfile('snap'))
Image($rawfile('snap'))- 媒体库file://data/storage 支持file://路径前缀的字符串,用于访问通过媒体库提供的图片路径。 a. 调用接口获取图库的照片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中调用上述函数,获取图库的所有图片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字符串数据。 Base64格式字符串可用于存储图片的像素数据,在网页上使用较为广泛。
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
接口
+关注
关注
33文章
9588浏览量
157591 -
数据源
+关注
关注
1文章
66浏览量
10100 -
鸿蒙
+关注
关注
60文章
3014浏览量
46161
发布评论请先 登录
相关推荐
热点推荐
鸿蒙智能体开发知识库---创建知识库
。
从列表点击知识库名称进入知识列表页面
选择对应的知识类型填写相关信息:
导入方式-文档:使用文档形式导入知识数据,可以配置引用源信息;
2.导入方式-图片:使用图片形式导入知识数据,可以配置
发表于 03-06 10:18
报名开启!2026年开源鸿蒙“北向应用”与“南向设备”开发研修班等你加入!
为深化校企合作,推动开源鸿蒙(OpenHarmony)技术发展,促进高校教师掌握开源鸿蒙北向应用开发和南向设备开发的前沿技术与教学实践方法,
钉钉正式开源HarmonyOS图片编辑组件
近日,由钉钉团队自主研发的“HarmonyOS图片编辑组件”正式上线OpenHarmony三方库中心仓并开源。作为一款填补鸿蒙社区图像处理领域空白的重量级组件,该方案基于HarmonyOS
开源鸿蒙领学课堂——山东·泰安站圆满举办
生态建设。山东科技大学以"开源技术赋能教学实践与人才培养"为主题,共同围绕开源鸿蒙系统生态、应用开发实践、教学资源共建及产学合作协同育人等议题展开深度交流,旨在搭建技术学习与经验共享平
【HarmonyOS 5】鸿蒙应用实现发票扫描、文档扫描输出PDF图片或者表格的功能
【HarmonyOS 5】鸿蒙应用实现发票扫描、文档扫描输出PDF图片或者表格的功能 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿
鸿蒙开发API9 到 API12,有哪些不同
##HarmonyOS 应用开发##
虽然API9已经属于过时了,但是现在很多学校里教的还是基于API9的鸿蒙开发,当学生需要在毕业设计中使用API12进行开发时,还是需要先掌握一
发表于 06-29 22:47
鸿蒙5开发宝藏案例分享---优化应用包体积大小问题
?** 鸿蒙包体积优化实战:藏在官方文档里的宝藏技巧!**
大家好呀~我是你们的鸿蒙开发小伙伴!今天在翻官方文档时,发现了一个超实用的「包体积优化」案例宝藏库!这些技巧明明能大幅提升应用体验,却很
发表于 06-13 10:09
鸿蒙5开发宝藏案例分享---跨线程性能优化指南
;>Worker</span>做多线程开发时,总遇到对象跨线程卡顿的问题,原来鸿蒙早就提供了解决方案。下面结合代码和实战案例,带你彻底玩转性能优化!
一、痛点:跨线程
发表于 06-12 17:13
鸿蒙5开发宝藏案例分享---应用接续提升内容发布体验
?【开发经验分享】鸿蒙应用接续功能实战:这些隐藏案例助你实现跨设备丝滑流转!
各位开发者小伙伴们好呀~今天在肝项目时意外解锁了HarmonyOS的一个\"宝藏技能\"——应用接续
发表于 06-03 18:25
鸿蒙5开发宝藏案例分享---一多开发实例(图片美化)
?【鸿蒙开发宝藏案例分享】一次搞定多端适配的图片美化应用开发思路!?
Hey小伙伴们~ 今天在翻鸿蒙文档时挖到一个超实用的大宝藏!原来官方早
发表于 06-03 16:09
鸿蒙开发教学-图片的引用
评论