如何保存一张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
相关问题
如何保存本地图片相册
1082浏览 • 1回复 待解决
HarmonyOS 保存图片相册问题
375浏览 • 1回复 待解决
如何吸取一张图片的色值?
405浏览 • 1回复 待解决
如何保存网络图片相册
738浏览 • 1回复 待解决
HarmonyOS 保存图片相册权限问题
289浏览 • 1回复 待解决
如何一张图片转化为PixelMapElement
10019浏览 • 1回复 待解决
求大佬告知如何保存图片相册
1154浏览 • 1回复 待解决
HarmonyOS保存图片系统相册问题咨询
654浏览 • 1回复 待解决
怎么实现保存网络图片相册功能?
366浏览 • 1回复 待解决