2014-03-24 82 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和內存資源。如果沒有外部庫和工具,它很難做一些圖像處理。 –