#鸿蒙通关秘籍#如何在鸿蒙中保存手写绘制为图片?

HarmonyOS
9h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
果子小公举

使用鸿蒙的image库和fs库将手写板的绘制内容保存为图片。在获取PixelMap对象的情况下,可以通过ImagePackerpackToFile方法直接将其写入文件,或者使用packing方法获取图片的ArrayBuffer再写入文件:

ts async packToFile(context: Context, pixelMap: PixelMap): Promise<string> { const imagePackerApi = image.createImagePacker(); const options: image.PackingOption = { format: "image/jpeg", quality: 100 }; const filePath: string = ${context.filesDir}/${getTimeStr()}.jpg; const file: fs.File = await fs.open(filePath, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE); await imagePackerApi.packToFile(pixelMap, file.fd, options); fs.closeSync(file); return filePath; }

async saveFile(context: Context, pixelMap: PixelMap): Promise<string> { const imagePackerApi = image.createImagePacker(); const options: image.PackingOption = { format: "image/jpeg", quality: 100 }; const filePath: string = ${context.filesDir}/${getTimeStr()}.jpg; const file: fs.File = await fs.open(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); const data: ArrayBuffer = await imagePackerApi.packing(pixelMap, options); fs.writeSync(file.fd, data); fs.closeSync(file); return filePath; }

分享
微博
QQ
微信
回复
6h前
相关问题