Измените размер изображения до точного размера, сохранив соотношение сторон.
Я хочу изменить размер изображения до точного размера, сохраняя пропорции и заполняя пустое пространство прозрачностью, используя nodejs.
Я могу сделать это с помощью холста. Но из-за некоторых проблем с сервером я не могу использовать canvas.
Я попробовал с imageMagick и GM. Но не смог найти ни одного варианта, подобного этому. Пожалуйста, покажи мне способ сделать это.
Заранее спасибо.
2 ответа
В ImageMagick вы можете изменить размер и заполнить до точного размера с помощью
convert image -resize WxH -background none -gravity center -extent WxH output
Входные данные:
Здесь я сделаю фон черным, чтобы вы могли видеть это, если заполняете его.
convert lena.jpg -resize 400x300 -background black -gravity center -extent 400x300 lena1.jpg
Если вы успешно использовали холст для изменения размера изображений, вы можете проверить https://github.com/Automattic/node-canvas этот репозиторий.
Как уже упоминалось, вы также изменяете размеры изображений с помощью ImageMagick с помощью процессов в NodeJS ( http://www.imagemagick.org/Usage/resize/).
convert dragon.gif -resize 64x64 resize_dragon.gif
Если у вас много изображений, я бы посоветовал вам написать скрипт терминала ( NodeJS также может этого добиться).
Надеюсь, это поможет, если у вас есть еще вопросы, не стесняйтесь спрашивать.