Какую библиотеку я должен использовать для работы с изображениями на стороне сервера в Node.JS? [закрыто]

Я нашел довольнобольшой список доступных библиотек на Node.JS вики, но я не уверен, кто из них более зрелый и обеспечивает лучшую производительность. В основном я хочу сделать следующее:

load some images to a server from external sources put them onto one big canvas crop and mask them a bit apply a filter or two Resize the final image and give a link to it

Большой плюс, если пакет узла работает на обоих Linuxand Windows.

 jmunsch21 февр. 2016 г., 08:00
2015: это также кажется законным: Github.com / оливер-Moran / скудный
 Andrew Андрей Листочкин11 мар. 2016 г., 21:22
@ jm _____ stackoverflow - это вопросы и ответы и вики. не стесняйтесь редактировать ответ, чтобы больше людей это заметили.
 DjebbZ22 мая 2012 г., 08:38
Вопрос уже ответил здесь: / Stackoverflow.com вопросы / 4541332 / ...

Ответы на вопрос(3)

Г с GraphicsMagick. Стабильный, многофункциональный, чистый API, отличные документы и быстрый.

И это работает как в Windows, так и в Linux / MacOS / BSD / ...

ссылкеализация @ to canvas на основе GDI +

 mpen30 окт. 2013 г., 02:53
Я не могу заставить эту штуку работать вообще. Я просто получаю «% 1 не является допустимым приложением Win32», как только мне это требуется.
Решение Вопроса

Отвечая на мой вопрос

Я провел два дня, копаясь в графических библиотеках Node.js.

Узел холст

Сначала я попробовал, так как хорошо знаком с<canvas> API. Это огромный плюс для библиотеки. Это требует Cairo, который не имеет легкой загрузки Windows. Я нашел его в дистрибутиве GTK +. Более того, для установки модуля необходимо скомпилировать собственный код привязки библиотеки. Он использует Node-Waf, который еще не был перенесен на Windows.

Г

Зрелые работает на Windows плавно документыхорош но не тщательно: мне пришлось искать исходный код, чтобы выяснить, какой API доступен К сожалению, нет простого способа объединить изображения с GM. Может быть, есть какой-то способ добиться этого, но я не нашел одного после двух часов без него.

Узел-ImageMagick

В официальном репозитории очень мало базовых команд ImageMagick, но я использовал эта вилка (хорошо, что NPM может извлекать библиотеки напрямую из репозиториев git). У него есть привязки дляmontage который делает именно то, что мне нужно.ImageMagick довольно медленный, хотя это работает в Windows.

Node-ВИПС

Huge Plus: он использует невероятныеVIPS библиотека с которым я знаком. VIPS очень быстр и оптимизирован для больших изображений. Он очень умно использует аппаратные ресурсы: если у вашей машины много оперативной памяти, она будет выполнять всю обработку в памяти, но переключится на кеши жесткого диска, если памяти мало или она потребуется для других приложений.same, как node-canvas, требует Node-Waf, поэтому он пока недоступен для Windows.

Я также посмотрел на другие библиотеки из списка, но большинство из них либо очень незрелые, либо не соответствуют моему сценарию использования. Я действительно хотел бы попробовать перейти на Node-Canvas или Node-Vips, когда Node-Waf будет портирован на Windows, но до тех пор я буду придерживаться node-imagemagick.

 jcupitt28 мая 2015 г., 13:54
Github.com / Ловелл / резкое, еще одна привязка узла для libvips, теперь работает в Windows.
 mpen06 сент. 2013 г., 01:27
Спасибо, что вернулись, чтобы ответить на свой вопрос. Отлично пишите!
 Gareth Oakley31 мар. 2014 г., 15:38
На Windows gm мне показалось немного медленным - хотя я думаю, что это отчасти связано с тем, сколько времени потребовалось для создания экземпляров исполняемого файла gm.
 Simon Fakir16 авг. 2014 г., 15:21
Time изменилось, и у NODE-Vips был 1 год + без обновления. Я рекомендую добавить Sharpместо этого @ в список. Он также использует VIPS и активно поддерживается: Github.com / Ловелл / резкое
 MaxArt15 янв. 2015 г., 00:08
Для тех, кто сейчас занимается этим вопросом, LwIP - еще одна хорошая альтернатива. Никаких внешних зависимостей, он опирается на дополнение C ++ к node.js.

Ваш ответ на вопрос