我正在尝试创建一个新的PNG文件,通过HTTP作为响应类型image/png返回给客户端。
新文件是通过连接3个基本的PNG文件并在图像中间添加自定义文本来创建的。
问题是,在nodejs中没有内置的库可以做到这一点。我花了几个小时搜索,令我惊讶的是,没有纯JS库可以做到这一点。最接近的是node-pngjs,但它缺少添加文本的功能。我知道文本部分很复杂,因为它在某种程度上依赖于操作系统(安装的字体,与这些字体交互的DLL等)。
还有其他的node模块,它们是imageMagick (gm)和GTK (canvas)的包装器,但不幸的是,imageMagick是155MB的二进制文件,并且要使用canvas,您需要从源代码编译,安装python
和VS 2010 C++ Express Edition
,而且它不适用于最新版本的GTK。
目前我得到的最好的解决方案是编写一个.NET程序集,并通过edge.js从node内部使用它,但这将需要在服务器上同时安装Windows操作系统和.NET框架。
再次强调,这里复杂的部分是在图像中添加文本。
有没有建议可以在不依赖大量外部依赖的情况下使其工作?