在使用 node-gm 保存图像的 exif 方向时调整图像大小

resizing image while saving it's exif orientation with node-gm

我正在使用 gm 编写 nodeJS 5.3.0 应用程序 (http://aheckmann.github.io/gm/)

我知道它使用了 GraphicsMagicK 库。

我遇到的问题是在调整图像大小后,它失去了 exif 格式。代码示例实际上显示 exif 格式已丢失。

例如:

var fs = require('fs')
  , gm = require('gm').subClass({imageMagick: true});

// resize and remove EXIF profile data
gm('/path/to/my/img.jpg')
.resize(240, 240)

在这个例子中,他们说 exif 配置文件数据已删除。

我知道我可以在调整大小之前获取图像的方向:

gm('path/tp/my/img.jpg').orientation(function(err,value){
                var orientation = value;
});

问题是.. 调整大小时可以保留 exif 数据吗?如果没有...我可以在调整大小后设置 exif 方向数据吗?

谢谢

更具体地说,在下面的代码中,只有 noProfile() 函数删除了 EXIF,所以如果删除它,您可以保留 EXIF 数据

 // resize and remove EXIF profile data
gm('/path/to/my/img.jpg')
   .resize(240, 240)
   .noProfile()
   .write('/path/to/resize.png', function (err) {
   if (!err) console.log('done');
});

否则你可以查看 gm 文档 here