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

我在Node.JS Wiki上找到了大量可用的库 ,但是我不确定哪个更成熟并提供更好的性能。基本上,我想执行以下操作:

  1. 从外部源将一些图像加载到服务器
  2. 把它们放在一块大画布上
  3. 裁剪并遮盖一下它们
  4. 应用一两个过滤器
  5. 调整最终图像的大小并为其提供链接

如果节点程序包可在Linux 和Windows上同时使用,则是一大优势。

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

回答我自己的问题

我花了两天时间浏览Node.js图形库。

节点画布

  • 我首先尝试过它,因为我对<canvas> API相当熟悉。对于图书馆而言,这是一个巨大的优势。
  • 它需要没有简单的Windows下载功能的Cairo。我在GTK +发行版中找到了它。
  • 此外,它需要在模块安装时编译本机库绑定代码。它使用尚未移植到Windows的Node-Waf。

gm

  • 成熟
  • 在Windows上顺利运行
  • 文档是确定 ,但不彻底:我不得不寻找到源代码,以弄清楚什么API可用
  • 不幸的是,没有简单的方法可以将图像与gm结合在一起。也许有某种方法可以实现这一目标,但是我花了两个小时才找到它。

节点图像魔术

  • 官方仓库几乎没有介绍基本的ImageMagick命令,但是我使用了这个fork (NPM可以直接从git仓库中提取库的好处)。它具有montage绑定,正是我需要的。
  • 尽管ImageMagick可以在Windows上运行,但它的运行速度相当慢

节点威

  • 巨大的优点:它使用了我熟悉的不可思议的VIPS库 。 VIPS非常快,并且针对大图像进行了优化。利用硬件资源非常聪明:如果您的计算机有很多RAM,它将在内存中进行所有处理,但是如果内存不足或其他应用程序需要时,它将切换到硬盘驱动器缓存。
  • 与节点画布相同,它需要Node-Waf,因此Windows尚不可用。

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

收藏
评论

我强烈建议您使用GraphicsMagick检查gm 。稳定,功能丰富,干净的API,出色的文档,并且速度很快。

它可以在Windows和Linux / MacOS / BSD / ...上运行

收藏
评论

她是基于GDI +的画布实现的链接

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号