如何在JavaScript中设置JPEG / PNG图像的分辨率/密度?

我需要在javascript中更改JPG / PNGtypes图像的分辨率/密度。 我需要这样做的原因是,我可以将图像发送到第三方API,然后根据分辨率/密度元数据知道每英寸有多less像素(DPI / PPI)要打印。

有没有这样的解决scheme在JavaScript?

对于任何对解决scheme感兴趣的人,我最终都会使用graphicMagic(节点的Image Magick版本)。 因为我使用AWS Lambda(其实例预装了ImageMagic),所以它变得更加简单,我只需要安装'gm'npm包。

这不是最高性能的解决scheme,因为我必须调整resample后,但它的工作原理!

const gm = require('gm').subClass({imageMagick: true}); function addResolution(inputBuffer, resizeWidth, resizeHeight) { return new Promise((resolve, reject) =>{ gm(inputBuffer) .resample(150, 150) // resampled to 150 resolution // you have to set the width and height again because resample rearranges those params .resize(resizeWidth, resizeHeight, '!') .toBuffer('JPEG',function (err, buffer) { if (err) reject(err) resolve(buffer) }) }) }