鸿蒙HarmonyOS实战-ArkUI组件(Image)_鸿蒙image组件,2024年最新漫谈MySQ
支持file://路径前缀的字符串,用于访问通过媒体库提供的图片路径。1、调用接口获取图库的照片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中调用上述函数,获取图库的全部图片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%’)
}
}
2、从媒体库获取的url格式通常如下
Image(‘file://media/Photos/5’)
.width(200)
☀️1.1.5 base64
路径格式为data:image/;base64,,此中为Base64字符串数据。
图片转换地址:https://c.runoob.com/front-end/59/
https://i-blog.csdnimg.cn/blog_migrate/2d699ba40ebee19eba385ae9f9bd4e2c.png
代码太长就不展示了,图片如下:
https://i-blog.csdnimg.cn/blog_migrate/d5630542c8829ad54a3db3f7524d11e6.png
页:
[1]