如何保存一张PNG图片到相册中

如何保存一张PNG图片到相册中

HarmonyOS
2024-05-09 22:44:13
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
elucky
import photoAccessHelper from ‘@ohos.file.photoAccessHelper’ 
import fs from ‘@ohos.file.fs’ 
@Entry 
@Component 
struct Index { 
  @State message: string = ‘Hello World’; 
 
  build() { 
    Row() { 
      Column() { 
Image(r('app.media.icon')) .height(300) .width(300) SaveButton({ text:SaveDescription.SAVE_IMAGE, buttonType:ButtonType.Capsule}).onClick(async (event: ClickEvent, result: SaveButtonOnClickResult) => { if (result == SaveButtonOnClickResult.SUCCESS) { try { const context = getContext(this); let helper = photoAccessHelper.getPhotoAccessHelper(context); // onClick触发后5秒内通过createAsset接口创建图片文件,5秒后createAsset权限收回。 let uri = await helper.createAsset(photoAccessHelper.PhotoType.IMAGE, 'png'); // 使用uri打开文件,可以持续写入内容,写入过程不受时间限制 let file = await fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); try { context.resourceManager.getMediaContent(r(‘app.media.icon’).id, 0) 
.then(async value => { 
let media = value.buffer; 
// 写到媒体库文件中 
await fs.write(file.fd, media); 
await fs.close(file.fd); 
AlertDialog.show({ message: ‘已保存至相册!’ }); 
}); 
} 
catch (err) { 
console.error("error is " + JSON.stringify(err)) 
} 
} catch (error) { 
console.error("error is " + JSON.stringify(error)); 
} 
} 
else { 
AlertDialog.show({ message: “设置权限失败” }) 
} 
}) 
} 
      .width(‘100%’) 
    } 
    .height(‘100%’) 
  } 
}
分享
微博
QQ
微信
回复
2024-05-10 11:03:12
相关问题
如何一张图片转化为PixelMapElement
8001浏览 • 1回复 待解决
鸿蒙开发保存页面相册
4339浏览 • 1回复 待解决
如何将视频保存相册以及主机端
3683浏览 • 1回复 待解决
如何相册图片进行编辑裁剪
237浏览 • 1回复 待解决
OpenHarmony 设备 如何相册传个图片
799浏览 • 2回复 待解决
怎么把视频保存相册以及主机端?
2289浏览 • 1回复 待解决
关系数据库如何保存图片
6278浏览 • 2回复 待解决
ArkUI(eTS)如何实现本地图片保存
5146浏览 • 1回复 待解决
拉起相册选择图片页面失败
105浏览 • 1回复 待解决
png图片使用Image组件加载出现锯齿
141浏览 • 1回复 待解决
如何将像素点保存图片文件
513浏览 • 1回复 待解决