Ответ 1
Отвечая на мой вопрос
Я потратил два дня на поиски графических библиотек Node.js.
- Я попробовал это сначала, так как я хорошо знаком с API
<canvas>
. Это огромный плюс для библиотеки. - требуется Cairo, у которого нет простой загрузки Windows. Я нашел его в дистрибутиве GTK +.
- Кроме того, ему необходимо скомпилировать собственный код привязки библиотеки при установке модуля. Он использует Node -Waf еще не переносится в Windows.
- зрелыми
- работает на Windows плавно
- docs одобрены, но не тщательны: мне пришлось искать исходный код, чтобы выяснить, какой API доступен.
- К сожалению, нет простого способа комбинировать изображения с gm. Может быть, есть способ достичь этого, но я не нашел один после двух часов, проведенных с ним.
- Официальное репо имеет очень мало базовых команд ImageMagick, но я использовал эту вилку (хорошо, что NPM может вытаскивать библиотеки непосредственно из git хранилища). Он имеет привязки для
montage
, который делает именно то, что мне нужно. - ImageMagick довольно медленный, хотя он работает в Windows.
- Огромный плюс: он использует невероятную VIPS-библиотеку, с которой я знаком. VIPS очень быстро и оптимизирован для больших изображений. Он очень умен в использовании аппаратных ресурсов: если на вашем компьютере много оперативной памяти, он будет обрабатывать всю память в памяти, но переключится на кеши жесткого диска, если память недостаточна или необходима для других приложений.
- то же, что и Node -canvas требует Node -Waf, поэтому он теперь доступен для Windows.
Я также просмотрел другие библиотеки из списка, но большинство из них либо очень незрело, либо не подходят для моего использования. Мне бы очень хотелось попробовать перейти на Node -Canvas или Node -Vips, когда Node -Waf портируется в Windows, но до тех пор я буду придерживаться Node -imagemagick.