}
})
1. 使用createPixelMap方法将获取到的图片数据转换成pixelmap展示到页面中
// 将ArrayBuffer类型的图片装换为PixelMap类型
transcodePixelMap(data: http.HttpResponse) {
let code: http.ResponseCode | number = data.responseCode;
if (ResponseCode.ResponseCode.OK === code) {
let imageData: ArrayBuffer = data.result as ArrayBuffer;
let imageSource: image.ImageSource = image.createImageSource(imageData);
class tmp {
height: number = 100;
width: number = 100;
};
let options: Record<string, number | boolean | tmp> = {
'alphaType': 0, // 透明度
'editable': false, // 是否可编辑
'pixelFormat': 3, // 像素格式
'scaleMode': 1, // 缩略值
'size': { height: 100, width: 100 }
}; // 创建图片大小
imageSource.createPixelMap(options).then((pixelMap: PixelMap) => {
this.image = pixelMap;
this.isShow = true
});
}
}
1. 将图片保存到图库或者用户选择的路径
* 使用getPhotoAccessHelper、createAsset、fs.open、fs.write等接口将数据存到本地图库中
async saveImage(buffer: ArrayBuffer | string): Promise {
let context = getContext(this) as common.UIAbilityContext;
let helper = photoAccessHelper.getPhotoAccessHelper(context);
let uri = await helper.createAsset(photoAccessHelper.PhotoType.IMAGE, ‘jpg’)

本文档详细介绍了如何在HarmonyOS中进行图片选择、网络图片下载及保存到手机相册的操作。通过`transcodePixelMap`函数将ArrayBuffer转换为PixelMap类型,使用`saveImage`和`pickerSave`方法实现图片保存,涉及photoAccessHelper、picker组件和文件系统操作。
最低0.47元/天 解锁文章
167

被折叠的 条评论
为什么被折叠?



