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

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

  1. загрузить некоторые изображения на сервер из внешних источников
  2. положи их на один большой холст
  3. обрежьте и немного замаскируйте их
  4. применить фильтр или два
  5. Измените размер окончательного изображения и дайте ссылку на него

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

112 голосов | спросил Andrew Андрей Листочкин 22 Mayam12 2012, 00:23:37

3 ответа


0

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

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

холст узла

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

гм

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

node-imagemagick

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

Node-Vips

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

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

ответил Andrew Андрей Листочкин 23 Maypm12 2012, 13:58:35
0

Я настоятельно советую вам проверить gm с GraphicsMagick. Стабильный, многофункциональный, чистый API, отличные документы и быстрый.

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

ответил Pierre 22 Maypm12 2012, 23:12:58
0

Это ссылка на реализацию Canvas на основе GDI +

ответил pastorgluk 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 29 Sep 2012 12:55:14 +0400 2012, 12:55:14

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132