HarmonyOS componentSnapshot.get 保存的图片无法显示
我在用 componentSnapshot.get 进行 页面保存为图片时,能保存成功,但是图片无法显示。请问可能是什么原因导致的。 在文件管理器中,看到的图片是有数据的
保存代码
async saveQrCode() {
try{
let photoPicker = new picker.DocumentViewPicker();
let PhotoSaveOptions = new picker.PhotoSaveOptions();
let dateTimeUtil: DateTimeUtil = new DateTimeUtil();
let writeLen:number =0 ;
let pixmapData: image.PixelMap;
let fd: number | undefined = undefined;
PhotoSaveOptions.newFileNames = [`Qrcode_${dateTimeUtil.getDate()}_${dateTimeUtil.getTime()}.png`];
let PhotoSaveResult: Array<string> = await photoPicker.save(PhotoSaveOptions);
let savePath = PhotoSaveResult[0];
let pixmap: image.PixelMap = await componentSnapshot.get(MyQRCodePage.ID_SCREEN_SHOOT_AREA);
pixmapData = pixmap;
let pixelBytesNumber : number = pixmap.getPixelBytesNumber();
let readBuffer: ArrayBuffer = new ArrayBuffer(pixelBytesNumber);
await pixmap.readPixelsToBuffer(readBuffer);
let file = fs.openSync(savePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
fd = file.fd;
writeLen = await fs.write(file.fd, readBuffer);
if (fd) {
fs.closeSync(fd);
}
if(pixmapData){
pixmapData.release();
}
if(writeLen>0){
CommonToast.show($r('app.string.Stu_Save_Success'), CommonConstants.TOAST_LONG_DELAY);
//成功
}else{
//失败
CommonToast.show($r('app.string.Stu_Save_Failed'), CommonConstants.TOAST_LONG_DELAY);
}
}catch(err){
Logger.error("saveQrCode error: " + err)
CommonToast.show($r('app.string.Stu_Save_Failed'), CommonConstants.TOAST_LONG_DELAY);
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
使用componentSnapshot.get能力报错
1021浏览 • 1回复 待解决
HarmonyOS componentSnapshot页面截图保存图片到相册不完整
430浏览 • 1回复 待解决
HarmonyOS 组件旋转后,使用componentSnapshot截图,截到的图片不是显示给用户显示的样子
285浏览 • 1回复 待解决
HarmonyOS heif图片无法显示
320浏览 • 1回复 待解决
HarmonyOS 图片对象PixelMap已编码为图片形式保存本地文件目,无法保存成功
247浏览 • 1回复 待解决
HarmonyOS 保存PixelMap到相册,显示保存成功,相册中的图片为空白图片,宽高都是0
415浏览 • 1回复 待解决
HarmonyOS 拍照后对应的图片保存到本地后无法打开
598浏览 • 1回复 待解决
HarmonyOS Image组件无法显示网络图片
1634浏览 • 1回复 待解决
HarmonyOS 无法使用受限权限,怎么保存图片到图库中去
522浏览 • 1回复 待解决
HarmonyOS 图片保存
614浏览 • 1回复 待解决
HarmonyOS 保存图片时,如何获取目标图片的uri,或如何保存传入的图片?
368浏览 • 1回复 待解决
HarmonyOS webview打开网址有图片无法显示
1028浏览 • 1回复 待解决
HarmonyOS 在使用Image图片组件时,放入pixelMap无法显示图片
752浏览 • 1回复 待解决
拍照后图片保存到本地后能打开并显示
237浏览 • 1回复 待解决
HarmonyOS 图片保存功能
494浏览 • 1回复 待解决
HarmonyOS 图片保存失败
372浏览 • 1回复 待解决
某些图片无法加载,在系统的finder可以正常显示
2154浏览 • 1回复 待解决
HarmonyOS pixelMap保存的图片如何进行保存到相册
503浏览 • 1回复 待解决
HarmonyOS savebutton的使用影响图片保存
360浏览 • 1回复 待解决
HarmonyOS savebutton的使用影响图片保存?
473浏览 • 0回复 待解决
HarmonyOS 组件截图然后保存到相册中后无法显示,尺寸为0
540浏览 • 1回复 待解决
HarmonyOS 保存图片文件异常
832浏览 • 1回复 待解决
HarmonyOS图片保存相册问题
1047浏览 • 1回复 待解决
HarmonyOS 安全控件的保存控件SaveButton保存图片到相册失败
229浏览 • 1回复 待解决
HarmonyOS 组件生成图片保存
435浏览 • 1回复 待解决
1、componentSnapshot.get 获取图片结果为 image.PixelMap 为像素分布,需要使用 imagePackerApi.packing 转换为 jpg\png 等格式。
文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5
2、Demo:componentSnapshot.get 保存的图片,组件 id 为 root,保存文件名:test.png