在 node.js 和 GraphicsMagick 中将 tiff 转换为 jpeg

Convert tiff to jpeg in node.js and GraphicsMagick

如何在 node.js 和 GraphicsMagick gm (https://aheckmann.github.io/gm/) 中将 tiff 转换为 jpg

我想在 AWS lambda 上执行此操作,所以不能 write() 直接输出到磁盘。

只需在 .write() 方法中指定您想要的文件扩展名,gm 会自动将其转换为该格式。

const gm = require('gm');

gm('sample.tiff')
  .write('out.jpeg', function (err) {
    if (err) console.log(err);
}); 

如果需要输出为buffer而不是写入磁盘,可以使用.toBuffer()方法:

gm('sample.tiff')
  .toBuffer('jpeg', function (err, buffer) {
    if (err) console.log(err);
});

我不知道出了什么问题,但是这个库对我不起作用。如果我使用:

https://www.npmjs.com/package/jimp

对我有用。也许这对某人有帮助。

const Jimp = require('jimp');

try {
  const readFile = await Jimp.read(filePath)
  await readFile.writeAsync(pathToConvertedFile)
  const buffPng = await fs.readFile(pathToConvertedFile);
} catch (err) {
  console.log(err);
}