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

113

Я нашел довольнобольшой список доступных библиотек на 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.

Вопрос уже ответил здесь: / Stackoverflow.com вопросы / 4541332 / ... DjebbZ
@ jm _____ stackoverflow - это вопросы и ответы и вики. не стесняйтесь редактировать ответ, чтобы больше людей это заметили. Andrew Андрей Листочкин
2015: это также кажется законным: Github.com / оливер-Moran / скудный jmunsch

Ваш Ответ

3   ответа
6

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

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

3

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

Я не могу заставить эту штуку работать вообще. Я просто получаю «% 1 не является допустимым приложением Win32», как только мне это требуется. mpen
178

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

Я провел два дня, копаясь в графических библиотеках 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.

Спасибо, что вернулись, чтобы ответить на свой вопрос. Отлично пишите! mpen
На Windows gm мне показалось немного медленным - хотя я думаю, что это отчасти связано с тем, сколько времени потребовалось для создания экземпляров исполняемого файла gm. Gareth Oakley
Time изменилось, и у NODE-Vips был 1 год + без обновления. Я рекомендую добавить Sharpместо этого @ в список. Он также использует VIPS и активно поддерживается: Github.com / Ловелл / резкое Simon Fakir
Для тех, кто сейчас занимается этим вопросом, LwIP - еще одна хорошая альтернатива. Никаких внешних зависимостей, он опирается на дополнение C ++ к node.js. MaxArt
Github.com / Ловелл / резкое, еще одна привязка узла для libvips, теперь работает в Windows. jcupitt

Похожие вопросы