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

时间:2016-01-03 19:27:19

标签: node.js image-resizing exif node-gm

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

我知道它使用了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方向数据吗?

感谢

1 个答案:

答案 0 :(得分:3)

更具体地说,在下面的代码中,只有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 doc here