HarmonyOS 将组件截图,并保存图片到相册后,需要kill掉app才能在相册中看到
截图并保存代码如下:
snapshot(){
componentSnapshot.get('clickImage', (error: Error, pixmap: image.PixelMap) => {
if (error) {
console.log(`componentSnapshot error ${JSON.stringify(error)}`)
return;
}
console.log(`componentSnapshot success ${JSON.stringify(pixmap.getImageInfoSync())}`)
this.saveToAlbum(pixmap)
})
}
async saveToAlbum(pixelMap: image.PixelMap) {
try {
let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(getContext());
let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE;
let extension: string = 'jpg';
let options: photoAccessHelper.CreateOptions = {
title: `gameshot`
}
phAccessHelper.createAsset(photoType, extension, options, (err, uri) => {
if (uri !== undefined) {
let packOpts: image.PackingOption = {
format: "image/jpeg", quality: 98
};
let imagePackerApi = image.createImagePacker();
imagePackerApi.packing(pixelMap, packOpts).then((data: ArrayBuffer) => {
// data 为打包获取到的文件流,写入文件保存即可得到一张图片
fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE).then((file: fs.File) => {
fs.write(file.fd, data).then((writeLen: number) => {
console.log('截图保存成功. writeLen=' + writeLen);
promptAction.showToast({
message:'截图保存成功'
})
this.params.callback.onSuccess(SharePannelSharePlatform.WXFriend)
});
});
}).catch((error: BusinessError) => {
this.params.callback.onSuccess(SharePannelSharePlatform)
console.error('saveToAlbum. Failed to pack the image. And the error is: ' + error);
});
} else {
console.error(`saveToAlbum failed, error: ${err.code}, ${err.message}`);
}
});
} catch (err) {
console.error('saveToAlbum failed with err: ' + err);
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 截图保存图片到相册
210浏览 • 1回复 待解决
HarmonyOS组件截图后如何将PixelMap保存至系统相册
961浏览 • 1回复 待解决
组件截图怎么保存将pixelMap存储到系统相册或应用沙箱
1023浏览 • 1回复 待解决
HarmonyOS 组件截图并保存到系统相册有延迟
283浏览 • 1回复 待解决
HarmonyOS componentSnapshot页面截图保存图片到相册不完整
224浏览 • 1回复 待解决
HarmonyOS 网络视频如何下载到相册,可以在相册中看到?
286浏览 • 1回复 待解决
HarmonyOS 保存图片到系统相册
214浏览 • 1回复 待解决
HarmonyOS 保存图片到相册问题
536浏览 • 1回复 待解决
HarmonyOS 保存图片到本地相册
195浏览 • 1回复 待解决
HarmonyOS 实现保存图片到相册
286浏览 • 1回复 待解决
HarmonyOS 保存图片到相册权限问题
489浏览 • 1回复 待解决
如何保存网络图片到相册
1030浏览 • 1回复 待解决
HarmonyOS 保存图片到相册有延时,如何在保存完之后立即刷新相册,需要相关代码的实现
303浏览 • 1回复 待解决
HarmonyOS保存图片到系统相册问题咨询
922浏览 • 1回复 待解决
HarmonyOS 如何将图片保存到相册
132浏览 • 1回复 待解决
HarmonyOS 下载的图片的话,能通知到相册吗想在相册也看到吗
58浏览 • 1回复 待解决
获取网络图片并保存到相册
1843浏览 • 1回复 待解决
HarmonyOS 如何将指定布局内容保存为图片,并保存到相册
245浏览 • 1回复 待解决
HarmonyOS组件截图保存到相册失败,预览图灰色
674浏览 • 1回复 待解决
HarmonyOS 如何将图片插入到相册
341浏览 • 1回复 待解决
HarmonyOS 某个组件截图成功后, 如何将image.PixelMap类型的结果保存至系统相册或者本地app沙箱
293浏览 • 1回复 待解决
如何保存本地图片到相册中
1373浏览 • 1回复 待解决
HarmonyOS 组件截图然后保存到相册中后无法显示,尺寸为0
353浏览 • 1回复 待解决
求大佬告知如何保存图片到相册
1507浏览 • 1回复 待解决
HarmonyOS 如何将图片,视频保存到相册
183浏览 • 1回复 待解决
调用完fs.write将图片写入文件后,还需要调用fs.close触发媒体库扫描,这样才能及时在相册里看到刚保存的图片。