Проблемы преобразования облачного API - PullRequest
1 голос
/ 31 мая 2019

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

Чего я хотел бы достичь:

  • если изображение больше ширины 1920px (рассматривая его как ландшафтное изображение): ширина должна быть обрезана до 1920px (с сохранением соотношения);
  • если изображение больше высоты 1920px (учитывая его как портретное изображение): высота должна быть обрезана до 1920px (с сохранением соотношения);
  • формат всегда jpg;
  • качество уменьшено до 80, чтобы уменьшить вес изображения.

Моя текущая интеграция:

const transformation = {
  width: 1920, max_height: 1920, format: 'jpg', quality: 80
};

Но, к сожалению, этот вывод - квадратное изображение ...

Я пытаюсь использовать if, но я не понимаю, как его использовать ... похоже, что написание документации всегда труднее всего сделать ...

Надеюсь, вы поможете мне найти правильный подход. Я использую SDK, поэтому все просто JavaScript.

1 Ответ

0 голосов
/ 31 мая 2019

При создании преобразований в SDK нет параметра max_height, но вы можете достичь того, что ищете, установив для width и height максимальное значение, которое вы хотите разрешить.

Если вы получаете квадратный вывод, то это потому, что по умолчанию режим кадрирования / изменения размера равен scale, который производит вывод в точном соответствии с запрошенными размерами, но может привести к тому, что изображение будет 'сжатый или растянутый.

Я думаю, что вы ищете здесь что-то вроде этого:

const transformation = {
  width: 1920, height: 1920, format: 'jpg', quality: 'auto', crop: 'limit'
};

, который дает вам URL-адрес, как это: https://res.cloudinary.com/demo/image/upload/w_1920,h_1920,f_jpg,q_auto,c_limit/bike.jpg

Режим обрезки «limit» будет уменьшать (не увеличивать) изображение до тех пор, пока он не станет меньше, чем 1920x1920, и сохранит исходное соотношение сторон

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...