@Stopy

Как поменять цвет фона в GraphicsMagick для node.js?

При конвертации png картинки в jpg весь прозрачный фон превращается в черный (что за идиотизм). Поискал в гугле такую проблему, там все работают с изображением через shell-консоль, а я через модуль в npm и никакого решения найти не смог.. Может кто-то знает как с этим бороться?
Или может кто-то посоветует альтернативное решение? Просто картинки перед загрузкой в любом случае нужно эффективно сжать

gm('./upload/'+file.name)
      .quality(cfg.quality)
      .background('white')
      .write("./public/images/"+rand+'.jpg', function (err) {

        fs.unlink('./upload/'+file.name, function(error){
          if (error) res.end('Не удается работать с файлом');
        });
        if (err) {
          res.end('Ошибка при загрузке изображения!');
        } else {
          console.log('Done!');
          res.end(rand+'.jpg');
        }

});


Решение ---->
.background('#FFF')
.mosaic()
.matte()
  • Вопрос задан
  • 430 просмотров
Решения вопроса 1
@iShatokhin
JS developer
При конвертации png картинки в jpg весь прозрачный фон превращается в черный (что за идиотизм)


А в какой должен? jpeg не поддерживает прозрачность.

Поискал в гугле такую проблему, там все работают с изображением через shell-консоль, а я через модуль в npm и никакого решения найти не смог.

Надо было посмотреть мануал на GraphicsMagick и использовать соответствующий метод (background) модуля.

gm(image).background("#FFF").stream("jpeg", cb);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы