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

如:

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

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

这种情况可能是由于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端的图片保存之后进行一些后处理,以确保图片的大小满足您的要求。