2014-03-24 55 views
6

我试图通过连接3基础来创建新的PNG文件通过HTTP服务回馈客户(如响应类型的图像/ PNG)创建的NodeJS PNG图像里面

新的文件被创建的文本PNG文件并在图像中间添加自定义text

问题是,在没有任何的NodeJS内置库来做到这一点。我花了几个小时搜索,令我惊讶的是,没有pure JS库来做到这一点。最接近的是node-pngjs,但它缺乏添加文本的能力。我明白,文本部分是复杂的,因为它有些依赖于操作系统(安装的字体,与所述字体接口的DLL等)。

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

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

再一次,这里的复杂部分是在图像中添加文本。

如何得到这个工作没有SH **外部依赖的负载任何建议?

回答

2

是的,你是正确的,对于图像处理库Node.js的支持较弱,多数是一些CLI应用的包装。

,我会使用该解决方案包括具有画布和SVG支持PhantomJS,你可以使用这些功能。它比其他选项更轻,不需要安装外部应用程序。 http://phantomjs.org/quick-start.html

+1

感谢您指出PhantomJS,我不知道这件事。不过,我认为仅仅生成一张图片有点矫枉过正。 – Nick

+0

是的,图像处理并不完美,因为它需要大量的CPU和内存资源。如果没有外部库和工具,它很难做一些图像处理。 –