收藏
回答

想对本地的图片进行离屏处理后,然后保存至相册,需要如何操作?

想对本地的图片进行离屏处理后,然后保存至相册,需要如何操作?

我通过 createOffscreenCanvas 创建离屏处理的 canvas ,但是好像没找到可以保存至本地相册方法,需要如何操作?


回答关注问题邀请回答
收藏

1 个回答

  • 微盟
    微盟
    2023-08-08

    如果你需要对本地的图片进行离屏处理,并保存至相册,可以通过以下步骤实现:

    1. 使用 `createOffscreenCanvas` 创建离屏 canvas,并将需要处理的图片绘制到该 canvas 上。

    2. 在离屏 canvas 上进行相应的处理,如滤镜、裁剪等。

    3. 将处理后的图片导出为 base64 格式的数据,通过 `wx.canvasToTempFilePath` 方法将 base64 数据转换为临时文件路径。

    4. 使用 `wx.saveImageToPhotosAlbum` 方法将临时文件保存至相册中。

    需要注意的是,保存至相册需要用户授权,因此在调用 `wx.saveImageToPhotosAlbum` 方法前,需要先调用 `wx.authorize` 方法进行授权。同时,在进行离屏处理时,需要注意性能和内存占用问题,避免出现卡顿和崩溃等问题。

    2023-08-08
    有用
    回复 1
    • 五弦👆👆
      五弦👆👆
      2023-08-08
      感谢大佬解惑。
      第三步的将处理后的图片导出为 base64 格式的数据,通过 `wx.canvasToTempFilePath` 方法将 base64 数据转换为临时文件路径是怎么操作,能再具体一些么?
      我看到  `canvas.toDataURL` 可以获取 base64 的数据,这一步我验证了数据是没有问题的。
      但是 `wx.canvasToTempFilePath` 这个 api 的全部参数我都看了,没有可以设置 base 64 的参数。我需要怎么扣接?
      2023-08-08
      回复
登录 后发表内容