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

我在Node.JS wiki上发现了一个相当large list of available libraries,但我不知道哪些更成熟,并提供更好的性能。基本上我想要做以下:

>从外部源将一些图像加载到服务器
>把它们放在一个大帆布上
>裁剪和掩蔽他们一点
>应用一两个过滤器
>调整最终图像的大小并提供一个链接

大加上如果节点包在Linux和Windows上都工作。

最佳答案
回答我自己的问题

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

node-canvas

>我试过它,因为我非常熟悉< canvas> API。这对图书馆来说是一个巨大的好处。
>它需要开罗没有一个简单的Windows下载。我发现它在GTK分布。
>此外,它需要本地库绑定代码来编译模块安装。它使用Node-Waf尚未移植到Windows。

gm

>成熟
>在Windows上顺利运行
> docs是确定,但不彻底:我不得不查找源代码,弄清楚什么API是可用的
>不幸的是没有简单的方法来组合图像与gm。也许有一些方法来实现,但我没有找到一个后两个小时花了它。

node-imagemagick

>官方仓库有很少的基本的ImageMagick命令涵盖,但我使用this fork(好的事情,NPM可以直接从git仓库拉库)。它有绑定的蒙太奇,这完全是我需要的。
> ImageMagick is quite slow,虽然它可以在Windows上运行。

Node-Vips

>巨大加:它使用了我熟悉的令人难以置信的VIPS library。 VIPS非常快,针对大图像进行了优化。使用硬件资源是非常聪明的:如果你的机器有很多内存,它会做内存中的所有处理,但如果内存不足或其他应用程序需要,将切换到硬盘驱动器缓存。
>与node-canvas相同,它需要Node-Waf,所以它现在可用于Windows。

我也看了从列表中的其他图书馆,但他们大多是非常不成熟或不适合我的用例。我真的想尝试迁移到Node-Canvas或Node-Vips当Node-Waf移植到Windows,但直到那时,我会坚持node-imagemagick。

转载注明原文:javascript – 我应该使用哪个库在Node.JS上进行服务器端图像处理? - 代码日志