html52.com
我爱小程序-开发者交流社区

有对图片处理(压缩)有经验的大佬指点下思路吗?

业务需求很常规,把用户的图片(多张,类似发朋友圈)传到服务端保存起来,同时再想办法得到每张图片的缩略图,以便在列表上显示缩略图,点开显示高清原图。首先尝试了小程序的接口wx.compressImage,因为不支持改变图片分辨率(长宽像素),仅改变质量,这样的压缩效果不理想,比如一个2M的图片,压缩完可能还有800K。

另外两个思路都还不成熟,有没有大佬指点下?

一个思路是仍然在小程序端做,用canvas把原图放进来,再导出一个改变了分辨率的压缩图片,这个方案有个体验问题,因为canvas不能隐藏起来执行,会导致整个压缩过程让用户看到,看起来很诡异,不知道是否存在巧妙的手段规避?

另一个思路是放服务端做,因为我用的是官方的云开发环境,可否推荐一下靠谱的图片压缩nodejs模块?是否还存在其他问题要考虑,比如这里又需要云函数把图片从云存储中下载过来,压缩好之后再传一个压缩图回到云存储,这里的流量损耗和时间损耗看起来都不小。

还有没有其他办法?


BTW:其实官方如果能支持是最好的了,无论是尽快完善wx.compressImage,还是云存储支持存一个图片时自动生成几个不同规格质量的压缩图片供调取,有人可以把需求转给官方吗?

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付