我正在尋找一種方法來直接在canvas元素上繪製多行文本而不使用HTML/DOM。最好的情況是找到一個JavaScript庫,但是我的谷歌搜索嘗試沒有提供任何東西。如何在canvas元素中對文本進行豐富排版?
理想的情況下,將具有以下功能:
- 能夠設置段落樣式:首行縮進,行間距等
- 快速可靠地實現了與校準/對齊文字環繞算法通過HTML或降價等
,我希望能找到一個解決方案,就是多一點先進的T一些簡化的子集選擇
有誰知道任何可能的解決方案?看起來這是一件瘋狂的事情,但我認爲我有一個相當好的理由!我正在評估Ejecta作爲一個可能的iOS環境來製作一個跨平臺的遊戲,它依賴於文本和美麗的排版,所以HTML和DOM不可用。 (We主要製作基於文本的遊戲)
此:https://github.com/bramstein/typeset包含了一個很好的換行算法,包括各種文本對齊選項,一個連字符,並利用帆布的'measureText'的函數,儘管輸出爲「span」。可以使用,但與基本線渲染器結合使用。 –
我們支持[fabric.js](http://fabricjs.com)中的多行文本渲染以及字體系列,文本對齊,文本修飾,文本描邊等。沒有內置自動換行,但您應該能夠擴展'fabric.Text'類並從那裏開始工作。 – kangax
謝謝@ kangax,看起來很強大! –