Nodejs创建一个内部带有文本的PNG图像

Nic*_*ick 7 javascript png image-processing node.js

我正在尝试创建一个新的PNG文件,通过HTTP服务回客户端(作为响应类型图像/ png)

通过连接3个基本PNG文件并text在图像中间添加自定义来创建新文件.

问题是,nodejs中没有内置库来执行此操作.我花了几个小时搜索,令我惊讶的是,没有pure JS图书馆可以做到这一点.最接近的是node-pngjs但它缺乏添加文本的能力.我理解文本部分很复杂,因为它有点依赖于OS(安装的字体,与所述字体接口的DLL等).

但是也有一些周围的ImageMagick(包装等节点模块GM)和GTK(画布),但不幸的是ImageMagick的是二进制文件的155MB,并使用画布,你需要从源代码编译,安装pythonVS 2010 C++ Express Edition它不会对GTK的最新版本工作.

我现在得到的最好的是编写.NET程序集并通过edge.js从内部节点使用它,但这需要服务器上的Windows操作系统和.NET框架.

同样,这里复杂的部分是在图像中添加文本.

关于如何在没有外部依赖关系的情况下使其工作的任何建议?

Ris*_*vik 3

是的,你是对的,Node.js 对图像处理库的支持很弱,大多数是某些 CLI 应用程序的包装器。

我将使用的解决方案涉及 PhantomJS,它具有 canvas 和 svg 支持,您可以使用这些功能。它比其他选项更轻,并且不需要安装外部应用程序。http://phantomjs.org/quick-start.html