使用piexifjs编辑JEPG图片的EXIF data

您可以使用库 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原文地址:https://segmentfault.com/a/1190000042562108

%s 个评论

要回复文章请先登录注册