您可以使用库 piexifjs 来更改图像的 EXIF 数据。该库只更改元数据(称为 EXIF) ,而不更改图像本身。

使用piexifjs相关 API 读取图像的 EXIF 数据,更改并创建新的buffer 。

const piexif = require("piexifjs");

// get the image buffer from puppeteer or from disk
const imageBuffer = /* ... */

// convert buffer to string and load it
const imageString = imageBuffer.toString('binary');
const exif = piexif.load(imageString);

// change resolution
exif['0th'][piexif.ImageIFD.XResolution] = [300,1];
exif['0th'][piexif.ImageIFD.YResolution] = [300,1];

// generate new EXIF data
const newExifDump = piexif.dump(exif);

// generate new image
const newData = piexif.insert(newExifDump, imageString);
const jpgBuffer = new Buffer(newData, "binary");

// write to file or use buffer
// ...

以上是改变了dpi信息,当然也可改变其他的图片信息,具体可以查看 piexifjs 的git仓库;

https://github.com/hMatoba/pi...


fyuan
78 声望2 粉丝

js开发者