ynrrrr2 2023-08-22 12:34 采纳率: 80%
浏览 11
已结题

wx.saveImageToPhotosAlbum,ios端保存的图片size变大,如何解决?

如:

ios端:图片原size为4kb,保存到相册后图片size变为14kb

android端:图片原size为4kb,保存到相册后图片size仍为4kb

  • 写回答

1条回答 默认 最新

  • z a x 2023-08-28 17:14
    关注

    这种情况可能是由于iOS的图片压缩算法和保存方式导致的,与Android端的保存方式不同。iOS在保存图片到相册时可能会进行一些额外的处理,例如重新编码、重新压缩或添加元数据等,这可能导致图片大小增加。

    如果您希望在iOS端保存图片后不发生尺寸变大的情况,可以尝试以下方法:

    1. 使用原图保存: 尝试使用原始的、未经过任何处理的图片进行保存。在调用 wx.saveImageToPhotosAlbum 方法时,传入原图的路径或临时路径,而不是经过处理的图片数据。
    // 假设 originalImagePath 是原始图片的路径
    wx.saveImageToPhotosAlbum({
      filePath: originalImagePath,
      success: function(res) {
        console.log("保存成功");
      },
      fail: function(error) {
        console.log("保存失败", error);
      }
    });
    
    1. 调整图片质量: 在保存图片之前,尝试调整图片的质量,以便在保存时尽量保持较小的文件大小。您可以使用第三方库或工具来处理图片质量,然后再保存。

    2. 检查其他因素: 确保您在保存图片时没有进行额外的处理,例如添加水印、调整尺寸等,这些操作可能会导致图片重新编码或压缩,从而增加文件大小。

    需要注意的是,iOS的图片保存机制是由系统决定的,不同版本的iOS可能会有不同的行为。如果您尝试了上述方法仍然无法解决问题,那么可能需要考虑在iOS端的图片保存之后进行一些后处理,以确保图片的大小满足您的要求。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月22日
  • 已采纳回答 11月14日
  • 创建了问题 8月22日