2012-07-12 89 views
1

我找不到任何方法來檢索表示字符串的Path對象。它存在嗎?必要的點的清單就足夠了,但我想在內部使用一個路徑。獲取(Android.Graphics)字符串的路徑

例如在GDI +有:

GraphicsPath p = new GraphicsPath(); 
p.AddString("string"); 

從那裏「繪製字符串」的任何點都可以進行訪問和修改。 PS:我不是指沿着路徑繪製文本。

+1

你是指例如..'R.string.myString'? – DroidBender 2012-07-12 11:47:31

+0

你確切的問題是什麼? – sunil 2012-07-12 12:08:45

+0

不,不,不。我正在繪製一個畫布。就像Canvas.DrawPath()一樣。我想要一個代表將要繪製的字母的路徑對象 – 2012-07-12 12:09:29

回答

2

我花了相當長的時間來解決這個問題(在OpenGL中繪製矢量化文本),並且不得不深入到libSkia源代碼中。事實證明,這非常簡單:

事實上,canvas在內部使用路徑,並使用SkPaint的getTextPath()方法將文本轉換爲向量路徑。幸運的是,在公共API中的Java端暴露爲android.graphics.Paint.getTextPath()。之後,您可以通過android.graphics.PathMeasure閱讀Path。

不幸的是,您無法閱讀確切的繪圖命令,但您可以使用類似二分法的方式對曲線進行非常仔細的採樣。

+0

謝謝,目前正在研究thia – Derekyy 2017-09-19 11:20:20