GraphicsMagick (GM) изменяет размер на квадрат без изменения пропорций и добавляет фон

Я пытаюсь заставить GraphicsMagick изменить размер моих различных изображений на стандартный квадрат. Ввод всегда переменный - вертикальные, горизонтальные изображения, разные размеры и т.д.

Я хочу в основном иметь: - Белый фоновый холст @ 600px x 600px - Изображение находится в центре этого холста @ 500px x 500px

Я пробовал много из документации, но не могу заставить его работать правильно.

Это то, что я работаю до сих пор (JavaScript):

gm(content)
  .autoOrient()
  .resize(600, 600)
  .gravity('Center')
  .extent([600, 600])
  .background('#FFFFFF')
  .flatten();

И он просто имеет правильную ширину, но сохраняет соотношение, поэтому для прямоугольника он получается шириной 600 пикселей и высотой 240 пикселей (поскольку соотношение сохраняется).

Любая помощь приветствуется!


person Jonathan    schedule 17.05.2020    source источник
comment
Вы пробовали пример степени с веб-сайта GM? Это может быть так же просто, как поставить фон перед экстентом.   -  person Bonzo    schedule 17.05.2020
comment
@Bonzo К сожалению, не повезло. Я попытался изменить размер › гравитационного › фонового › экстента, но все равно получается без высоты 500 пикселей.   -  person Jonathan    schedule 18.05.2020
comment
@Bonzo Итак, моя проблема заключалась в том, что я передал ширину и высоту в экстент как массив, а не прямые параметры ... ошибка новичка. Хотя ошибок не выдает, что странно.   -  person Jonathan    schedule 18.05.2020


Ответы (1)


Решение моей проблемы заключалось в том, что я просто установил extent в качестве массива. Окончательное решение:

gm(content)
  .autoOrient()
  .resize(550, 550)
  .gravity('Center')
  .background('#FFFFFF')
  .extent(600, 600)
  .flatten();
person Jonathan    schedule 17.05.2020