首页 文章

我应该在Node.JS上使用哪个库进行服务器端图像处理? [关闭]

提问于
浏览
112

我在Node.JS wiki上找到了一个非常好的large list of available libraries但是我不确定哪些更成熟并提供更好的性能 . 基本上我想做以下事情:

  • 从外部源将一些图像加载到服务器

  • 将它们放在一个大画布上

  • 裁剪并掩盖它们

  • 应用一两个过滤器

  • 调整最终图像的大小并为其指定链接

如果节点包在Linux和Windows上都能正常工作,那就太大了 .

3 回答

  • 3

    她是基于GDI的link to canvas实现

  • 176

    回答我自己的问题

    我花了两天时间挖掘Node.js图形库 .

    node-canvas

    • 我先尝试了,因为我对 <canvas> API很熟悉 . 这对图书馆来说是一个巨大的优势 .

    • 它需要Cairo,它没有简单的Windows下载 . 我发现它在GTK发行版中 .

    • 此外,它需要在模块安装时编译本机库绑定代码 . 它使用的Node-Waf尚未移植到Windows .

    gm

    • 成熟

    • 在Windows上顺利运行

    • docs还可以但不透彻:我必须查看源代码以找出可用的API
      _999_遗憾的是有一些方法可以实现这一点,但我没有找到一个花了两个小时 .

    node-imagemagick

    • 官方回购包含的基本ImageMagick命令很少,但我使用了this fork(NPM可以直接从git存储库中提取库) . 它具有 montage 的绑定,它完全符合我的需要 .

    • ImageMagick is quite slow,虽然它适用于Windows .

    Node-Vips

    • 巨大的加号:它使用了令人难以置信的VIPS library,我非常聪明地利用硬件资源:如果你的机器有很多RAM,它将在内存中进行所有处理,但如果内存不足或需要,将切换到硬盘驱动器缓存用于其他应用 .

    • 与node-canvas相同,它需要Node-Waf,因此它尚不适用于Windows .

    我还查看了列表中的其他库,但是大多数库都非常不成熟或者不适合我的用例 . 当Node-Waf被移植到Windows时,我真的想尝试迁移到Node-Canvas或Node-Vips,但在那之前我会坚持使用node-imagemagick .

  • 6

    我强烈建议你用GraphicsMagick检查gm . 稳定,功能丰富,干净的API,出色的文档和快速 .

    它适用于Windows和Linux / MacOS / BSD / ...

相关问题