有沒有辦法在Kineticjs中使用Kinetic.TextPath
沿着路徑居中文本。如何用kineticjs沿Kinetic.TextPath居中文本
如果沒有,是否有人知道解決方法?我已經探索了svg textpath選項,但不知道如何將這個svg轉換爲kineticjs。
我也嘗試過使用頭髮空間手動空間文本,但kineticjs似乎將字符轉換爲正常空間,例如。 text.setText(String.fromCharCode(8202))
有沒有辦法在Kineticjs中使用Kinetic.TextPath
沿着路徑居中文本。如何用kineticjs沿Kinetic.TextPath居中文本
如果沒有,是否有人知道解決方法?我已經探索了svg textpath選項,但不知道如何將這個svg轉換爲kineticjs。
我也嘗試過使用頭髮空間手動空間文本,但kineticjs似乎將字符轉換爲正常空間,例如。 text.setText(String.fromCharCode(8202))
標準textpath沒有文字的中心沿
我這裏檢查的源代碼路徑:github.com/ericdrowell/KineticJS/blob/master/src/plugins/...並沒有什麼在API中允許文本沿着路徑居中。是否看到你已經嘗試了添加領先空間的不滿意方法。 KineticJS有一些非常好的getXY-at-length-on-path函數,你可以用它自己做。路徑文本變得更加複雜,因爲您必須考慮角色的旋轉 - 根據曲線如何需要「K」旋轉,「K」會在路徑上佔用不同的寬度。
看看它是如何在這裏現有textpath完成:https://github.com/ericdrowell/KineticJS/blob/master/src/plugins/TextPath.js
的findSegmentToFitCharacter功能(起始線177)是最有啓發性。
這些相關的功能可以被用來編寫一個做自己動手中心textpath
Kinetic.Path.getLineLength
Kinetic.Path.getPointOnEllipticalArc
Kinetic.Path.getPointOnCubicBezier
Kinetic.Path.getPointOnQuadraticBezier
所以你必須做的是:
findSegmentToFitCharacter很好地展示瞭如何以適當的角度旋轉每個字符。
好的編碼! ...如果你想分享你的成績,我會很感興趣。另外,每當我進入KineticJS源代碼時,我總是對它們的代碼印象深刻。
我剛剛在這裏檢查了源代碼:https://github.com/ericdrowell/KineticJS/blob/master/src/plugins/TextPath.js並且API中沒有任何內容允許沿着路徑對文本進行居中。是否看到你已經嘗試了添加領先空間的不滿意方法。 KineticJS有一些**非常好的** getXY-length-on-path函數,您可以使用它自己做。路徑文本變得更加複雜,因爲您必須考慮角色的旋轉 - 根據曲線如何需要「K」旋轉,「K」會在路徑上佔用不同的寬度。不是一件容易的事情! – markE
謝謝@ markE。你能告訴我哪些getXY-at-length-on-path函數可用嗎? – cugreen
當然,我發佈了一個信息答案 - 主要是因爲材料的數量不適合評論。良好的編碼! – markE