Изменение размера изображения при сохранении его exif-ориентации с помощью node-gm

Я пишу приложение nodeJS 5.3.0 с использованием gm ( 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 после изменения размера?

Спасибо

1 ответ

Решение

Более конкретно, в следующем коде только функция 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 документ здесь

Другие вопросы по тегам