首页 > 解决方案 > 如何在 JavaScript 中将 jpeg 转换为渐进式图像?

问题描述

用例:用户通过浏览器上传图像,应用程序应将该图像转换为渐进式并将其上传到服务器,以便另一个应用程序可以使用该图像并渐进式加载图像。

我尝试了一些像 'gm' what user imagemagic 这样的库,但它们没有用,所以我想知道是否有某种方法可以做到这一点。

标签: javascriptnode.jsimage-processingimage-conversion

解决方案


你可以使用sharp模块,它有很多功能并且非常好。如果您只想转换为渐进式 jpeg,那么

const sharp = require("sharp")

const main = async () => {
  try {
    const data = await sharp('10.jpg')
      .jpeg({
        quality: 100, // adjust the quality
        progressive: true
      })
      .toBuffer();
    await sharp(data).toFile('output.jpg')
  } catch(error) {
    console.log(error)
  }
}

main()

代码的Repl 链接


推荐阅读