Измените размер изображения до точного размера, сохранив соотношение сторон.

Я хочу изменить размер изображения до точного размера, сохраняя пропорции и заполняя пустое пространство прозрачностью, используя 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 также может этого добиться).

Надеюсь, это поможет, если у вас есть еще вопросы, не стесняйтесь спрашивать.

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